quaeratin
Version:
An extended precision floating point library (as per Shewchuk) - precision only limited by overflow / underflow
110 lines (109 loc) • 5.89 kB
TypeScript
import { eToBitlength } from './double-expansion/e-to-bitlength.js';
import { eDiv } from './double-expansion/e-div.js';
import { eLongDivide } from './double-expansion/e-long-divide.js';
import { eIntDiv } from './double-expansion/e-int-div.js';
import { eRem } from './double-expansion/e-rem.js';
import { eCompress } from './double-expansion/e-compress.js';
import { eCompare } from './double-expansion/e-compare.js';
import { eAbs } from './double-expansion/e-abs.js';
import { eEstimate } from './double-expansion/e-estimate.js';
import { eDiff } from './double-expansion/e-diff.js';
import { fastExpansionSum } from './double-expansion/fast-expansion-sum.js';
import { fastTwoDiff } from './basic/fast-two-diff.js';
import { fastTwoSum } from './basic/fast-two-sum.js';
import { growExpansion } from './double-expansion/grow-expansion.js';
import { eNegativeOf } from './double-expansion/e-negative-of.js';
import { scaleExpansion, scaleExpansion2 } from './double-expansion/scale-expansion.js';
import { eMultBy2 } from './double-expansion/e-mult-by-2.js';
import { eMultByNeg2 } from './double-expansion/e-mult-by-neg-2.js';
import { eDivBy2 } from './double-expansion/e-div-by-2.js';
import { split } from './basic/split.js';
import { twoDiff } from './basic/two-diff.js';
import { twoProduct } from './basic/two-product.js';
import { twoSum } from './basic/two-sum.js';
import { reduceSignificand } from './basic/reduce-significand.js';
import { expansionProduct } from './double-expansion/expansion-product.js';
import { parseDouble, parseDoubleDetailed } from './double-representation/parse-double.js';
import { isBitAligned } from './double-representation/is-bit-aligned.js';
import { msbExponent } from './double-representation/msb-exponent.js';
import { lsbExponent } from './double-representation/lsb-exponent.js';
import { eSign } from './double-expansion/e-sign.js';
import { bitLength } from './double-representation/bit-length.js';
import { expBitLength } from './double-representation/bit-length.js';
import { eCalculate } from './double-expansion/e-calculate.js';
import { eSum } from './double-expansion/e-sum.js';
import { eProduct } from './double-expansion/e-product.js';
import { exponent } from './double-representation/exponent.js';
import { significand } from './double-representation/significand.js';
import { doubleToBinaryString } from './double-representation/double-to-binary-string.js';
import { doubleToOctets } from './double-representation/double-to-octets.js';
import { getHighestSetBit, getLowestSetBit } from './double-representation/get-max-set-bit.js';
import { eIntPow } from './double-expansion/e-int-pow.js';
import { eToDd } from './double-expansion/e-to-double-double.js';
import { orient2d } from './geometric-primitives/orient2d.js';
import { isAdjacent } from './double-expansion/is-adjacent.js';
import { isNonOverlappingAll } from './double-expansion/is-overlapping.js';
import { eIsInteger } from './double-expansion/e-is-integer.js';
declare const eAdd: typeof fastExpansionSum;
declare const eAddDouble: typeof growExpansion;
declare const eMult: typeof expansionProduct;
declare const eMultDouble1: typeof scaleExpansion;
declare const eMultDouble2: typeof scaleExpansion2;
declare const operators: {
fastTwoDiff: typeof fastTwoDiff;
fastTwoSum: typeof fastTwoSum;
split: typeof split;
twoDiff: typeof twoDiff;
twoProduct: typeof twoProduct;
twoSum: typeof twoSum;
reduceSignificand: typeof reduceSignificand;
fastExpansionSum: typeof fastExpansionSum;
eAdd: typeof fastExpansionSum;
growExpansion: typeof growExpansion;
eAddDouble: typeof growExpansion;
expansionProduct: typeof expansionProduct;
eMult: typeof expansionProduct;
scaleExpansion: typeof scaleExpansion;
eMultDouble1: typeof scaleExpansion;
scaleExpansion2: typeof scaleExpansion2;
eMultDouble2: typeof scaleExpansion2;
eDiv: typeof eDiv;
eLongDivide: typeof eLongDivide;
eIntDiv: typeof eIntDiv;
eRem: typeof eRem;
eCompress: typeof eCompress;
eEstimate: typeof eEstimate;
eDiff: typeof eDiff;
eNegativeOf: typeof eNegativeOf;
eMultBy2: typeof eMultBy2;
eMultByNeg2: typeof eMultByNeg2;
eDivBy2: typeof eDivBy2;
eSign: typeof eSign;
eCompare: typeof eCompare;
eAbs: typeof eAbs;
eToBitlength: typeof eToBitlength;
eIntPow: typeof eIntPow;
eCalculate: typeof eCalculate;
eSum: typeof eSum;
eProduct: typeof eProduct;
eToDd: typeof eToDd;
parseDouble: typeof parseDouble;
parseDoubleDetailed: typeof parseDoubleDetailed;
isBitAligned: typeof isBitAligned;
msbExponent: typeof msbExponent;
lsbExponent: typeof lsbExponent;
bitLength: typeof bitLength;
expBitLength: typeof expBitLength;
doubleToBinaryString: typeof doubleToBinaryString;
doubleToOctets: typeof doubleToOctets;
getHighestSetBit: typeof getHighestSetBit;
getLowestSetBit: typeof getLowestSetBit;
exponent: typeof exponent;
significand: typeof significand;
orient2d: typeof orient2d;
isAdjacent: typeof isAdjacent;
isNonOverlappingAll: typeof isNonOverlappingAll;
eIsInteger: typeof eIsInteger;
};
export { operators };
export { fastTwoDiff, fastTwoSum, split, twoDiff, twoProduct, twoSum, reduceSignificand, fastExpansionSum, eAdd, growExpansion, eAddDouble, expansionProduct, eMult, scaleExpansion, eMultDouble1, scaleExpansion2, eMultDouble2, eDiv, eLongDivide, eIntDiv, eRem, eCompress, eEstimate, eDiff, eNegativeOf, eMultBy2, eMultByNeg2, eDivBy2, eSign, eCompare, eAbs, eToBitlength, eIntPow, eCalculate, eSum, eProduct, eToDd, parseDouble, parseDoubleDetailed, isBitAligned, msbExponent, lsbExponent, bitLength, expBitLength, doubleToBinaryString, doubleToOctets, getHighestSetBit, getLowestSetBit, exponent, significand, orient2d, isAdjacent, isNonOverlappingAll, eIsInteger };