JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 21596
  • Score
    100M100P100Q174389F
  • License MIT

Pure double-double precision functions *with strict error bounds*.

Package Exports

  • double-double

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (double-double) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Pure double & double-double floating point arithmetic functions with strict error bounds

Overview

  • Double-double precision floating point operators (similar to quad precision)
  • Optimized for speed (see benchmark below)
  • Operators include: +, -, *, /, √, abs, <, >, ===, etc.
  • No classes ⇒ a double-double is simply a length 2 Number array, e.g.
import { twoSum } from 'double-double';
// Specified directly (low order double first)
const a = [-4.357806199228875e-10, 11_638_607.274152497];
// ...or more usually from an earlier calculation
const b = twoSum(213.456, 111.111);  // => [-1.4210854715202004e-14, 324.567] (completely error-free)
  • All functions are pure, e.g.
// using `a` and `b` as defined above (ddAddDd => double-double + double-double)
const c = ddAddDd(a,b);  // => [-2.42072459299969e-10, 11638931.841152497]

Research

The following research / books / lectures have been used or are directly relevant to this library (especially the first two):

Benchmark

Documentation

Documentation

Introduction

Examples

import { toScaleAxis } from 'flo-mat';

Installation

npm install double-double

Usage

....

License

MIT