GithubHelp home page GithubHelp logo

stdlib-js / stdlib Goto Github PK

View Code? Open in Web Editor NEW
4.0K 55.0 397.0 1.87 GB

✨ Standard library for JavaScript and Node.js. ✨

Home Page: https://stdlib.io

License: Apache License 2.0

JavaScript 63.17% Julia 0.01% C++ 0.63% C 17.68% Awk 0.01% HTML 0.03% Shell 0.13% CSS 0.03% Python 2.57% R 0.35% Fortran 0.15% WebAssembly 0.01% TypeScript 15.25%
javascript stdlib nodejs numeric library standard math js mathematics science

stdlib's Introduction


We believe in a future in which the web is a preferred environment for numerical computation. To help realize this future, we've built stdlib.

stdlib (/ˈstændərd lɪb/ "standard lib") is a standard library with an emphasis on numerical and scientific computation, written in JavaScript (and C) for execution in browsers and in Node.js. 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.

What sets stdlib apart is its fully decomposable architecture, which allows you to swap out and mix and match APIs and functionality to cater to your exact preferences and use cases.

When you use stdlib, you can be confident that you are using the most thorough, rigorous, well-written, studied, documented, tested, measured, and high-quality code available.

Want to join us in bringing numerical computing to the web? Start by starring the project. 🌟

Explore this GitHub repository for stdlib's source code and documentation. For guidance on developing stdlib, refer to the development guide.

Thank you for being a part of our community! Your support is invaluable to us!

Resources

External Resources

Features

  • 150+ special math functions.

    Demo showcasing special math functions
  • 35+ probability distributions, with support for evaluating probability density functions (PDFs), cumulative distribution functions (CDFs), quantiles, moments, and more.

    Demo showcasing probability distributions
  • 40+ seedable pseudorandom number generators (PRNGs).

    Demo showcasing PRNGs
  • 200+ general utilities for data transformation, functional programming, and asynchronous control flow.

    Demo showcasing general utilities
  • 200+ assertion utilities for data validation and feature detection.

    Demo showcasing assertion utilities
  • 50+ sample datasets for testing and development.

    Demo showcasing sample datasets
  • A plot API for data visualization and exploratory data analysis.

    Demo showcasing plot API
  • Native add-ons for interfacing with BLAS libraries, with pure JavaScript fallbacks.

    Demo showcasing BLAS APIs
  • A benchmark framework supporting TAP.

    Demo showcasing benchmark framework
  • REPL environment with integrated help and examples.

    Demo showcasing REPL environment
  • Can be bundled using Browserify, Webpack, and other bundlers for use in web browsers.

    Demo showcasing browser support
  • Every function is accompanied by TypeScript declaration files, ensuring type safety and facilitating intelligent code completion in IDEs.

    Demo showcasing TypeScript declaration files

Installation

To accommodate various use cases, stdlib can be used in multiple ways. The preferred method of use depends on your individual use case. We've provided some user stories to help you identify the best approach. 😃

While this project's installation instructions defaults to using npm for package management, installation via other package managers, such as yarn, should be a matter of simply swapping out npm commands with those of the relevant package manager.

User Stories

  • I want to perform data analysis and data science tasks in JavaScript and Node.js, similar to how I might use Python, Julia, R, and MATLAB.

  • I am building a web application.

    • I plan on using Browserify, Webpack, and other bundlers for use in web browsers.

      • Install individual packages. Installing the entire project is likely unnecessary and will lead to slower installation times.
    • I would like to vendor a custom bundle containing various stdlib functionality.

    • I would like to include stdlib functionality by just using a script tag.

      • I would like to use ES Modules.

        • Use an individual package's ES Module build.
      • I would like to use a pre-built bundle (possibly via a CDN, such as unpkg or jsDelivr).

        • Install (or consume via a CDN) an individual package's pre-built UMD browser bundle.
    • I am interested in using a substantial amount of functionality found in a top-level stdlib namespace and don't want to separately install hundreds of individual packages (e.g., if building an on-line calculator application and wanting all of stdlib's math functionality).

      • Install one or more top-level namespaces. Installing the entire project is likely unnecessary and will lead to slower installation times. Installing a top-level namespace is likely to mean installing functionality which will never be used; however, installing a top-level namespace is likely to be easier and less time-consuming than installing many individual packages separately.

        When bundling, installing a top-level namespace should not be a concern, as individual functionality can still be independently required/imported. Project installation times may, however, be somewhat slower.

  • I am building a Node.js server application.

    • I am interested in using various functionality found in stdlib.

      • Install individual packages. Installing the entire project is likely unnecessary and will lead to slower installation times.
    • I would like to vendor stdlib functionality and avoid dependency trees.

      • Install individual package UMD bundles.
    • I am interested in using a substantial amount of functionality found in a top-level stdlib namespace and don't want to separately install hundreds of individual packages.

      • Install one or more top-level namespaces. Installing the entire project is likely unnecessary and will lead to slower installation times. Installing a top-level namespace is likely to mean installing functionality which will never be used; however, installing a top-level namespace is likely to be easier and less time-consuming than installing many individual packages separately.
  • I am using Deno.

  • I would like to use stdlib functionality in an Observable notebook.

  • I want to hack at stdlib, possibly even creating customized builds to link to platform-specific native libraries (such as Intel's MKL or some other numerical library).

Complete Library

To install the entire project as a library or application dependency,

$ npm install @stdlib/stdlib

Once installed, stdlib packages can be individually required/imported to minimize load times and decrease bundle sizes. For example, to use require

var ndarray = require( '@stdlib/ndarray/array' );

var arr = ndarray( [ [ 1, 2 ], [ 3, 4 ] ] );
// returns <ndarray>

and to use import

import ndarray from '@stdlib/ndarray/array';

var arr = ndarray( [ [ 1, 2 ], [ 3, 4 ] ] );
// returns <ndarray>

Individual Packages

stdlib is designed to allow decomposition of the main project into individual packages which can be independently consumed. Accordingly, users of the project can avoid installing all project functionality and only install the exact functionality they need.

To install individual packages, replace forward slashes / after @stdlib/ with hyphens -. For example,

$ npm install @stdlib/ndarray-array

Once installed, individual packages can be required/imported. For example, to use require

var ndarray = require( '@stdlib/ndarray-array' );

var arr = ndarray( [ [ 1, 2 ], [ 3, 4 ] ] );
// returns <ndarray>

and to use import

import ndarray from '@stdlib/ndarray-array';

var arr = ndarray( [ [ 1, 2 ], [ 3, 4 ] ] );
// returns <ndarray>

Namespaces

stdlib is comprised of various top-level namespaces (i.e., collections of related functionality united by common themes). For example, to install all math functionality found in the top-level math namespace,

$ npm install @stdlib/math

Once installed, packages within a top-level namespace can be individually required/imported to minimize load times and decrease bundle sizes. For example, to use require

var sin = require( '@stdlib/math/base/special/sin' );

var v = sin( 3.14 );
// returns <number>

and to use import

import sin from '@stdlib/math/base/special/sin';

var v = sin( 3.14 );
// returns <number>

Note: installing nested namespaces found within top-level namespaces (e.g., math/base) is not supported. Consider installing individual packages or the relevant top-level namespace.

Command-line Utility

To install globally for use as a command-line utility and/or use the REPL,

$ npm install -g @stdlib/stdlib

which will expose the stdlib command. For example, to see available sub-commands

$ stdlib help

and to run the REPL

$ stdlib repl

Environment Builds

ES Modules

To use ES Modules via a <script> tag, use ES Module builds available in each package's repository via a dedicated esm branch (e.g., see the esm branch for @stdlib/math-base-special-erf). For example,

<script type="module">
import linspace from 'https://cdn.jsdelivr.net/gh/stdlib-js/array-base-linspace@esm/index.mjs';
import erf from 'https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-erf@esm/index.mjs';

const x = linspace( -10.0, 10.0, 100 );

for ( let i = 0; i < x.length; i++ ) {
    console.log( 'x: %d, erf(x): %d', x[ i ], erf( x[ i ] ) );
}
</script>

Deno

To use individual packages in Deno, use Deno builds available in each package's repository via a dedicated deno branch (e.g., see the deno branch for @stdlib/ndarray-array). For example,

import ndarray from 'https://cdn.jsdelivr.net/gh/stdlib-js/ndarray-array@deno/mod.js';

var arr = ndarray( [ [ 1, 2 ], [ 3, 4 ] ] );
// returns <ndarray>

jQuery-like Bundle

For those wanting a jQuery-like bundle, one can use pre-built distributable UMD bundles for use in browser environments or as shared ("vendored") libraries in server environments available in each package's repository via a dedicated umd branch. See sections UMD and Node.js for more details.

UMD

To use UMD bundles either via a <script> tag or in Observable, use UMD browser builds available in each package's repository via a dedicated umd branch (e.g., see the umd branch for @stdlib/math-base-special-erf). For example,

<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/stdlib-js/array-base-linspace@umd/browser.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/stdlib-js/math-base-special-erf@umd/browser.js"></script>
<script type="text/javascript">
(function () {

var x = linspace( -10.0, 10.0, 100 );

for ( var i = 0; i < x.length; i++ ) {
    console.log( 'x: %d, erf(x): %d', x[ i ], erf( x[ i ] ) );
}

})();
</script>

Node.js

To vendor stdlib functionality and avoid installing dependency trees, use UMD server builds available in each package's repository via a dedicated umd branch (e.g., see the umd branch for @stdlib/math-base-special-erf). For example,

var linspace = require( '/path/to/vendor/umd/@stdlib/array-base-linspace' );
var erf = require( '/path/to/vendor/umd/@stdlib/math-base-special-erf' );

var x = linspace( -10.0, 10.0, 100 );

for ( var i = 0; i < x.length; i++ ) {
    console.log( 'x: %d, erf(x): %d', x[ i ], erf( x[ i ] ) );
}

Custom Bundles

To create a custom bundle based on project needs,

  1. follow the download, configuration, and installation instructions as described in the development guide.

  2. navigate to the local installation directory.

  3. run the following command to print help documentation for providing a list of stdlib package names to bundle

    $ NODE_PATH=./lib/node_modules node ./bin/cli bundle-pkg-list -- -h
  4. modify and run the above command with the list of packages to bundle

    $ NODE_PATH=./lib/node_modules node ./bin/cli bundle-pkg-list -- <pkg> <pkg> <pkg> ...

Upon generating a bundle, the bundle can be loaded via a <script> tag as described above for pre-built distributable UMD bundles.

System Library

To install as a system library (e.g., for the purposes of creating custom builds), follow the download, configuration, and installation instructions as described in the development guide.


Prerequisites

Installing and running stdlib for use in Node.js 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; if Node <= 10.x.x, version > 2.7.0 and < 6.0.0)

Most functionality in stdlib is implemented in JavaScript and no further prerequisites are required to use stdlib (i.e., you can safely avoid installing any additional prerequisites); 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

Contributing

First time contributor?

Already an expert?

  • Fork the repository.

  • Clone the forked repository

    $ git clone --depth=1 https://github.com/<username>/stdlib.git

    where <username> is your GitHub username.

  • Navigate to the stdlib directory

    $ cd stdlib
  • Install dependencies

    $ make install-node-modules
  • Initialize your stdlib development environment

    $ make init

Sponsors

stdlib development is generously supported by the following sponsors:

Are you interested in supporting stdlib? If so, join our Open Collective!


Users

The following organizations and key stakeholders trust and rely on stdlib:

Does your organization use stdlib? If so, we'd love to hear from you!


Governance

For information about the governance of the stdlib project, see GOVERNANCE.md.

License

See LICENSE.

Copyright

Copyright © 2016-2024. The Stdlib Authors.


Status

Version

git tag NPM version Node.js version

Community

Chat

stdlib's People

Contributors

adityacodes30 avatar agpriyanshu18 avatar aman-095 avatar auenkr avatar dependabot[bot] avatar frank113 avatar github-actions[bot] avatar gunjjoshi avatar itskdhere avatar jai0401 avatar jaysukh-409 avatar justin1dennison avatar kgryte avatar labiej avatar performant23 avatar planeshifter avatar pranavchiku avatar pranegit avatar pratik772846 avatar rajutkarsh07 avatar rejoan-sardar avatar rreusser avatar rxbryan avatar shivamahir avatar shraddheyas avatar snehil-shah avatar splrk avatar stdlib-bot avatar steff456 avatar the-r3aper7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stdlib's Issues

Implement `incrmwstdev`

Incremental moving weighted standard deviation. @stdlib/math/statistics/incr/mwstdev.

Two use cases:

  1. Fixed window weights. In which case, should provide a factory method to set the weights beforehand.
  2. Weights which accompany each value: accumulator( x, weight ).

Implement `secd`

Compute the secant of x where x is in degrees. @stdlib/math/base/special/asecd.

Implement `cscd`

Compute the cosecant of x where x is in degrees. @stdlib/math/base/special/cscd.

Implement `cotd`

Compute the cotangent of x where x is in degrees. @stdlib/math/base/special/cotd.

RFC: add `j1`, the Bessel function of order 1

Checklist

Please ensure the following tasks are completed before filing an issue.

  • Read and understood the Code of Conduct.
  • Searched for existing issues and pull requests.
  • If this is a general question, searched the FAQ for an existing answer.
  • If this is a feature request, the issue name begins with RFC: .

Description

Description of the issue (or feature request).

Bessel functions find frequent application in areas of scientific computing. This RFC proposes to add the Bessel function of order 1. Package name: @stdlib/math/base/special/j1.

Related Issues

Does this issue (or feature request) have any related issues?

No.

Questions

Any questions for reviewers?

No.

Other

Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

Reference implementations:

RFC: add `y0`, the Bessel function of the second kind of order 0

Checklist

Please ensure the following tasks are completed before filing an issue.

  • Read and understood the Code of Conduct.
  • Searched for existing issues and pull requests.
  • If this is a general question, searched the FAQ for an existing answer.
  • If this is a feature request, the issue name begins with RFC: .

Description

Description of the issue (or feature request).

Bessel functions find frequent application in areas of scientific computing. This RFC proposes to add the Bessel function of the second kind of order 0. Package name: @stdlib/math/base/special/y0.

Related Issues

Does this issue (or feature request) have any related issues?

No.

Questions

Any questions for reviewers?

No.

Other

Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

Reference implementations:

Implement `read-dsv`

Read a file containing delimiter-separated values. @stdlib/fs/read-dsv.

This package should leverage parse-dsv. Additionally, a readStream variant is desirable.

Implement `parse-csv`

Comma-separated values. @stdlib/utils/parse-csv.

This is a special case of @stdlib/utils/parse-dsv and should just be a wrapper.

Implement `read-tsv`

Read a file containing tab-separated values. @stdlib/fs/read-tsv.

This package should leverage parse-tsv. Additionally, a readStream variant is desirable.

Implement `parse-dsv`

Delimiter-separated values. @stdlib/utils/parse-dsv.

Note that this package is not simple. The implementation should adhere as best as possible to the various CSV RFCs and pass standard CSV parsing tests.

Ideally, this implementation should be portable and/or share a code base with a streaming variant.

Implement `parse-tsv`

Tab-separated values. @stdlib/utils/parse-tsv.

This is a special case of @stdlib/utils/parse-dsv and should just be a wrapper.

Implement `asecd`

Compute the inverse secant of x where the output is in degrees. @stdlib/math/base/special/asecd.

Implement `atand`

Compute the arctangent of x where the output is in degrees. @stdlib/math/base/special/atand.

Implement `read-xlsx`

Read XLSX files. @stdlib/fs/read-xlsx.

This package should only focus on xlsx files. Other file formats should be addressed in separate packages.

RFC: add `y1`, the Bessel function of the second kind of order 1

Checklist

Please ensure the following tasks are completed before filing an issue.

  • Read and understood the Code of Conduct.
  • Searched for existing issues and pull requests.
  • If this is a general question, searched the FAQ for an existing answer.
  • If this is a feature request, the issue name begins with RFC: .

Description

Description of the issue (or feature request).

Bessel functions find frequent application in areas of scientific computing. This RFC proposes to add the Bessel function of the second kind of order 1. Package name: @stdlib/math/base/special/y1.

Related Issues

Does this issue (or feature request) have any related issues?

No.

Questions

Any questions for reviewers?

No.

Other

Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

Reference implementations:

Implement `acosd`

Compute the arccosine of x where the output is in degrees. @stdlib/math/base/special/acosd.

RFC: add `sind`

Checklist

Please ensure the following tasks are completed before filing an issue.

  • Read and understood the Code of Conduct.
  • Searched for existing issues and pull requests.
  • If this is a general question, searched the FAQ for an existing answer.
  • If this is a feature request, the issue name begins with RFC: .

Description

Description of the issue (or feature request).

Compute the sine of x where x is in degrees.

Package: @stdlib/math/base/special/sind
Alias: base.sind

For a reference implementation, see Julia.

Related Issues

Does this issue (or feature request) have any related issues?

No.

Questions

Any questions for reviewers?

No.

Other

Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

No.

Implement `incrmwvariance`

Incremental moving weighted variance. @stdlib/math/statistics/incr/mwvariance.

Two use cases:

  1. Fixed window weights. In which case, should provide a factory method to set the weights beforehand.
  2. Weights which accompany each value: accumulator( x, weight ).

Implement `asind`

Compute the arcsine of x, where the output is in degrees. @stdlib/math/base/special/asind.

RFC: add the inverse logit function

Checklist

Please ensure the following tasks are completed before filing an issue.

  • Read and understood the Code of Conduct.
  • Searched for existing issues and pull requests.
  • If this is a general question, searched the FAQ for an existing answer.
  • If this is a feature request, the issue name begins with RFC: .

Description

Description of the issue (or feature request).

This RFC proposes adding support for computing the inverse logit function. The implementation is straightforward:

/**
* @param {number} x - input value
* @returns {number} function result
*/
function expit( x ) {
    return 1.0 / ( 1.0 + exp( -x ) );
}

Package: @stdlib/math/base/special/expit
Alias: base.expit

Related Issues

Does this issue (or feature request) have any related issues?

No.

Questions

Any questions for reviewers?

No.

Other

Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

Reference implementations:

  • SciPy [1][2]

See also @stdlib/math/base/special/logit.

Floating point precision - does/ will this library support this?

@kgryte Thanks for the quick merge earlier!

I have a question - is it the intent of this library's math section to provide a means to solve the floating point precision problems in JS?

A concise demonstration of what I'm referring to:

$ node 
> 0.3
0.3
> 0.1 + 0.2
0.30000000000000004

I came across this lib linked from this article and while reading it, this came to mind immediately.

For many common application tasks, minor deviations in precision are unlikely to have a significant effect. However, for numeric computing and applications requiring high precision, poor precision does have a significant effect due to accumulated error. Especially since the built-in Math functions are frequently used by higher-order functions, small deviations compounded many times can lead to significant drift from the "true" value.

... and that paragraph implied that you have solved (or are aiming to solve) this very problem, which I believe is an baseline factor that tends to affect precision in any non-integer math in JS. I've tried looking for references to this specific issue in this lib (and its FAQ), but have not been able to find reference to it yet.

Checklist

Please ensure the following tasks are completed before filing an issue.

  • Read and understood the Code of Conduct.
  • Searched for existing issues and pull requests.
  • If this is a general question, searched the FAQ for an existing answer.
  • If this is a feature request, the issue name begins with RFC: .

Description

Description of the issue (or feature request).

Does this lib provide a means to solve this?

$ node 
> 0.3
0.3
> 0.1 + 0.2
0.30000000000000004

Related Issues

Does this issue (or feature request) have any related issues?

None.

Questions

Any questions for reviewers?

Yes, see above.

Other

Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

Demo

If relevant, provide a link to a live demo.

Not applicable.

Reproduction

If this issue is a bug report, what steps are required to reproduce the unexpected output? (If this is a feature request, remove this section.)

Not applicable.

Expected Results

What are the expected results? (If this is a feature request, remove this section.)

The following results are expected:

(insert expected results here)

Actual Results

What are the actual results? (If this is a feature request, remove this section.)

The following are the actual results:

$ node 
> 0.3
0.3
> 0.1 + 0.2
0.30000000000000004
> stdlib.math.add([0.1, 0.2])
0.3

Environments

If this issue is a bug report, what environments are affected; e.g., Node v0.4.x, Chrome, IE 11? (If this is a feature request, remove this section.)

v8, likely all JS engine implementations

Implement `incrwmean`

Incremental weighted mean. @stdlib/math/statistics/incr/wmean. See @stdlib/math/statistics/incr/mean.

See also an algorithm for computing a weighted incremental variance.

Implement `acotd`

Compute the inverse cotangent of x where the output is in degrees. @stdlib/math/base/special/acotd.

Implement `cosd`

Compute the cosine of x where x is in degrees. @stdlib/math/base/special/cosd.

RFC: add `j0`, the Bessel function of order 0

Checklist

Please ensure the following tasks are completed before filing an issue.

  • Read and understood the Code of Conduct.
  • Searched for existing issues and pull requests.
  • If this is a general question, searched the FAQ for an existing answer.
  • If this is a feature request, the issue name begins with RFC: .

Description

Description of the issue (or feature request).

Bessel functions find frequent application in areas of scientific computing. This RFC proposes to add the Bessel function of order 0. Package name: @stdlib/math/base/special/j0.

Related Issues

Does this issue (or feature request) have any related issues?

No.

Questions

Any questions for reviewers?

No.

Other

Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

Reference implementations:

Implement `read-csv`

Read a file containing comma-separated values. @stdlib/fs/read-csv.

This package should leverage parse-csv. Additionally, a readStream variant is desirable.

Implement `tand`

Compute the tangent of x where x is in degrees. @stdlib/math/base/special/tand.

Implement `incrmwmean`

Incremental moving weighted mean. @stdlib/math/statistics/incr/mwmean.

Two use cases:

  1. Fixed window weights. In which case, should provide a factory method to set the weights beforehand.
  2. Weights which accompany each value: accumulator( x, weight ).

Implement `acscd`

Compute the inverse cosecant of x where the output is in degrees. @stdlib/math/base/special/acscd.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.