SInteger class

Header file is here.

BdFact(ulong n) --- factorial n!
BFact(ulong n) --- factorial n! (primitive method)
BitShift(long p) --- bit shift i.e. multiplies by 2p
BSConvToBin(const SLong& x) --- DRADIX to BRADIX radix conversion
ConvToDec() --- BRADIX to DRADIX radix conversion
DConvToDec() --- BRADIX to DRADIX divide radix conversion
HConvToDec() --- BRADIX to DRADIX radix conversion (Horner's method)
IIAdd(const SInteger& m, const SInteger& n, SInteger& r) --- r = m+n
IIDiv(const SInteger& m, const SInteger& n, Ldiv_t& r, int rem) --- r = (m/n, m%n)
IISub(const SInteger& m, const SInteger& n, SInteger& r) --- r = m-n
Ipow(const SInteger& x, ulong n) --- xn
IsAdd(const SInteger& m, fType s, SInteger& r) --- r = m+s
IsDiv(const SInteger& m, ulong s, SInteger& q) --- q = m/s, return m%s
IsMult(const SInteger& m, ulong s, SInteger& r) --- r = m*s
IsSub(const SInteger& m, fType s, SInteger& r) --- r = m-s
NConvToBin(const SLong& m) --- radix conversion SLong to SInteger
NConvToDec() --- BRADIX to DRADIX normal radix conversion
NewtonIIDiv(const SInteger& m, const SInteger& n, Ldiv_t& r, int rem) --- r = (m/n, m%n)
operator%(const SInteger& m, const SInteger& n) --- m%n
operator%(const SInteger& m, double n) --- m%n
operator&(const SInteger& m, const SInteger& n) --- m&n
operator>>(const SInteger& m, ulong n) --- m>>n
operator<<(const SInteger& m, ulong n) --- m<<n
operator<<(ostream& os, const SInteger& m) --- output operator<< m
operator*(const SInteger& m, double n) --- m*n
operator/(const SInteger& m, const SInteger& n) --- m/n
operator/(const SInteger& m, double d) --- m*n
operator|(const SInteger& m, const SInteger& n) --- m | n
SCConvToBin(const SLong& x) --- DRADIX to BRADIX radix conversion
SetIDouble(double) --- set a double value