Skip to content

stdlib-js/stdlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



stdlib logo




stdlib is a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing applications. The library provides a collection of robust, high performance libraries for mathematics, statistics, data processing, streams, and more and includes many of the utilities you would expect from a standard library.

This is the GitHub repository of stdlib source code and documentation. For help developing stdlib, see the development guide.

Features

  • An extensive collection of standard library mathematical functions.
  • Utilities for manipulating floating-point numbers and transforming data.
  • Packages for incremental computation of statistics over data streams.
  • Large collection of seedable pseudorandom number generators (PRNGs).
  • Native add-ons and WebAssembly interfaces for interfacing with BLAS libraries, with pure JavaScript fallbacks.
  • Sample datasets for testing and development.
  • String manipulation utilities.
  • A comprehensive assertion library.
  • A benchmark framework which outputs TAP.
  • A plot API.
  • REPL environment with integrated help and examples.
  • Backward compatibility to Node.js v0.10.
  • Rigorous testing against reference implementations.
  • Can be bundled using Browserify or Webpack for use within web browsers.
  • Extensive documentation and examples.
  • Commercial friendly license.

Resources

External Resources

Prerequisites

Running stdlib requires the following prerequisites:

  • Node.js: JavaScript runtime (version >= 0.10)
  • npm: package manager (version > 2.7.0; if Node < 1.0.0, version > 2.7.0 and < 4.0.0)

Most functionality in stdlib is implemented exclusively in JavaScript; however, some implementations try to capture performance benefits by using native bindings and/or WebAssembly. While not required to run stdlib, as every stdlib implementation has a JavaScript fallback, the following dependencies are required for building native add-ons, including linking to BLAS and LAPACK libraries:

  • GNU make: development utility and task runner
  • GNU bash: an sh-compatible shell
  • gcc & g++ or Clang: C/C++ compilation and linking (g++ version >= 4.8; clang version >= 3.5, Xcode version >=8.3.1 on OS X)
  • gfortran: Fortran compilation and linking (version >= 4.8)

While not required to run stdlib, the following dependencies are required for automatically downloading external libraries:

  • curl, wget, or fetch (FreeBSD): utilities for downloading remote resources

The following external libraries can be automatically downloaded and compiled from source using make:

  • OpenBLAS: optimized BLAS library
  • Electron: framework for cross-platform desktop applications

Installation

To install as a library or application dependency,

$ npm install @stdlib/stdlib

Otherwise, to install as a system library, follow the download, configuration, and installation instructions as described in the development guide.


Contributing

See the contributing guidelines.

License

See LICENSE.

Copyright

Copyright © 2016-2018. The Stdlib Authors.


Status

stability-experimental

Version

git tag NPM version Node.js version

Build

OS Build (master) Coverage (master) Build (develop) Coverage (develop)
Linux/OS X Linux/OS X build status (master) coverage (master) Linux/OS X build status (develop) coverage (develop)
Windows Windows build status (master) coverage (master) Windows build status (develop) coverage (develop)

Dependencies

Dependencies DevDependencies

Community

Chat


Sponsors

Gold

stencila logo