View source code
Display the source code in dmd/backend/divcoeff.d from which thispage was generated on github.
Report a bug
If you spot a problem with this page, click here to create aBugzilla 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 usinglocal 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