View source code
Display the source code in dmd/backend/divcoeff.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function dmd.backend.divcoeff.choose_multiplier

Implement Algorithm 6.2: Selection of multiplier and shift count

extern(C) bool choose_multiplier (
  int N,
  ulong d,
  int prec,
  ulong* pm,
  int* pshpost
) nothrow @trusted;

Parameters

NameDescription
N 32 or 64
d divisor (must not be 0 or a power of 2)
prec bits of precision desired

Output

*pm = factor *pshpost = post shift

Returns

true m >= 2**N

Authors

Walter Bright

License

Boost License 1.0