SkillAgentSearch skills...

Reciprocal

Faster division by constants that aren't known at compile-time

Install / Use

/learn @pkhuong/Reciprocal
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Baseline implementation of division by constants

Build Status Coverage Status

When dividing integers by compile-time constants, compilers (LLVM) can be trusted to convert those to a sequence of multiplication and shift.

That doesn't work so well when the constant isn't known until runtime.

This crate implements a simple strategy with reliable performance. Does reliable imply good? For this application, it does.

The basic PartialReciprocal should be compiled to a constant-time fast path, and can handle every divisor except 0, 1, and u64::MAX.

The slightly more complex Reciprocal can also divide by 1 and u64::MAX, at the expense of one more u64 field, and a slightly more complex (one more load, maybe one more integer arithmetic instruction) fast path.

View on GitHub
GitHub Stars30
CategoryDevelopment
Updated5mo ago
Forks0

Languages

Rust

Security Score

87/100

Audited on Oct 24, 2025

No findings