mir.bignum.low_level_view

Low-level betterC utilities for big integer arithmetic libraries.

The module provides BigUIntAccumulator, BigUIntView, and BigIntView, DecimalView.

Note: The module doesn't provide full arithmetic API for now.

Members

Enums

DecimalExponentKey
enum DecimalExponentKey
WordEndian
enum WordEndian

Functions

algoR
T algoR(T ret, BigUIntView!(const W, endian) coeff, int exponent)
Undocumented in source. Be warned that the author may not have intended to support it.
ceilLog10Exp2
T ceilLog10Exp2(T e)

Fast integer computation of ceil(log10(exp2(e))) with 64-bit mantissa precision. The result is guaranted to be greater then log10(exp2(e)), which is irrational number.

Manifest constants

TargetEndian
enum TargetEndian;
TargetEndian
enum TargetEndian;

Structs

BigIntView
struct BigIntView(W, WordEndian endian = TargetEndian)

Arbitrary length signed integer view.

BigUIntAccumulator
struct BigUIntAccumulator(W, WordEndian endian = TargetEndian)

An utility type to wrap a local buffer to accumulate unsigned numbers.

BigUIntView
struct BigUIntView(W, WordEndian endian = TargetEndian)

Arbitrary length unsigned integer view.

BinaryView
struct BinaryView(W, WordEndian endian = TargetEndian, Exp = int)
DecimalView
struct DecimalView(W, WordEndian endian = TargetEndian, Exp = sizediff_t)
optStrategy
struct optStrategy
Undocumented in source.

Templates

MaxFpPow5
template MaxFpPow5(T)
Undocumented in source.
MaxWordPow10
template MaxWordPow10(T)
Undocumented in source.
MaxWordPow5
template MaxWordPow5(T)
Undocumented in source.

Variables

hexStringErrorMsg
auto hexStringErrorMsg;
Undocumented in source.
hexStringException
auto hexStringException;
Undocumented in source.

Meta