stdlib-js / stdlib Goto Github PK
View Code? Open in Web Editor NEW✨ Standard library for JavaScript and Node.js. ✨
Home Page: https://stdlib.io
License: Apache License 2.0
✨ Standard library for JavaScript and Node.js. ✨
Home Page: https://stdlib.io
License: Apache License 2.0
Compute the tangent of x
where x
is in degrees. @stdlib/math/base/special/tand
.
Incremental moving weighted standard deviation. @stdlib/math/statistics/incr/mwstdev
.
Two use cases:
factory
method to set the weights beforehand.accumulator( x, weight )
.Moving incremental skewness. See also @stdlib/stats/incr/skewness
for the non-moving version.
For similar packages, see https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/stats/incr.
Incremental weighted sample variance.
Package: @stdlib/stats/incr/wvariance
Alias: incrwvariance
See @stdlib/math/generics/statistics/incrvariance
for the non-weighted package.
See https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/stats/incr for similar packages.
See reference literature.
See tmpdir. @stdlib/utils/tmpdir
.
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.
Compute the secant of x
where x
is in degrees. @stdlib/math/base/special/asecd
.
Incremental moving product. See @stdlib/math/statistics/incr/msum
.
Incremental weighted mean. @stdlib/math/statistics/incr/wmean
. See @stdlib/math/statistics/incr/mean
.
See also an algorithm for computing a weighted incremental variance.
Moving incremental kurtosis. See also @stdlib/stats/incr/kurtosis
for the non-moving version.
For similar packages, see https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/stats/incr.
Read a file containing tab-separated values. @stdlib/fs/read-tsv
.
This package should leverage parse-tsv
. Additionally, a readStream
variant is desirable.
Moving incremental Pearson Correlation. See @stdlib/math/statistics/incr/mvariance
.
Incremental moving weighted mean. @stdlib/math/statistics/incr/mwmean
.
Two use cases:
factory
method to set the weights beforehand.accumulator( x, weight )
.Comma-separated values. @stdlib/utils/parse-csv
.
This is a special case of @stdlib/utils/parse-dsv
and should just be a wrapper.
Compute the arccosine of x
where the output is in degrees. @stdlib/math/base/special/acosd
.
Read a file containing comma-separated values. @stdlib/fs/read-csv
.
This package should leverage parse-csv
. Additionally, a readStream
variant is desirable.
Compute the cosecant of x
where x
is in degrees. @stdlib/math/base/special/cscd
.
Please ensure the following tasks are completed before filing an issue.
RFC:
.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
.
Does this issue (or feature request) have any related issues?
No.
Any questions for reviewers?
No.
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:
See utils-homedir. @stdlib/utils/homedir
.
Please ensure the following tasks are completed before filing an issue.
RFC:
.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
Does this issue (or feature request) have any related issues?
No.
Any questions for reviewers?
No.
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:
See also @stdlib/math/base/special/logit
.
Incremental Pearson Correlation. See @stdlib/math/statistics/incr/variance
.
Compute the arctangent of x
where the output is in degrees. @stdlib/math/base/special/atand
.
Compute the inverse cotangent of x
where the output is in degrees. @stdlib/math/base/special/acotd
.
Double factorial. @stdlib/math/base/special/double-factorial
.
Moving incremental geometric mean. See @stdlib/math/statistics/incr/mmean
.
Compute the inverse secant of x
where the output is in degrees. @stdlib/math/base/special/asecd
.
Logit function. @stdlib/math/base/special/logit
.
Please ensure the following tasks are completed before filing an issue.
RFC:
.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
.
Does this issue (or feature request) have any related issues?
No.
Any questions for reviewers?
No.
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:
Compute the cosine of x
where x
is in degrees. @stdlib/math/base/special/cosd
.
Compute the cotangent of x
where x
is in degrees. @stdlib/math/base/special/cotd
.
Moving incremental harmonic mean. See @stdlib/math/statistics/incr/hmean
.
Tab-separated values. @stdlib/utils/parse-tsv
.
This is a special case of @stdlib/utils/parse-dsv
and should just be a wrapper.
Incremental product. See @stdlib/math/statistics/incr/sum
.
See utils-error-to-json. @stdlib/utils/error-to-json
.
Incremental covariance. See @stdlib/math/statistics/incr/variance
.
Incremental geometric mean. See @stdlib/math/statistics/incr/mean
.
Incremental harmonic mean. See @stdlib/math/statistics/incr/mean
.
Please ensure the following tasks are completed before filing an issue.
RFC:
.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
.
Does this issue (or feature request) have any related issues?
No.
Any questions for reviewers?
No.
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:
Incremental weighted standard deviation. @stdlib/stats/incr/wstdev
.
See also an algorithm for computing an incremental weighted variance.
Read XLSX files. @stdlib/fs/read-xlsx
.
This package should only focus on xlsx files. Other file formats should be addressed in separate packages.
Moving incremental covariance. See @stdlib/math/statistics/incr/mvariance
.
Read a file containing delimiter-separated values. @stdlib/fs/read-dsv
.
This package should leverage parse-dsv
. Additionally, a readStream
variant is desirable.
See utils-configdir. @stdlib/utils/configdir
.
Please ensure the following tasks are completed before filing an issue.
RFC:
.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
.
Does this issue (or feature request) have any related issues?
No.
Any questions for reviewers?
No.
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:
@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.
Please ensure the following tasks are completed before filing an issue.
RFC:
.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
Does this issue (or feature request) have any related issues?
None.
Any questions for reviewers?
Yes, see above.
Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.
If relevant, provide a link to a live demo.
Not applicable.
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.
What are the expected results? (If this is a feature request, remove this section.)
The following results are expected:
(insert expected results here)
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
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
Incremental exponentially weighted mean. @stdlib/math/statistics/incr/ewmean
.
See reference literature.
Compute the arcsine of x
, where the output is in degrees. @stdlib/math/base/special/asind
.
Incremental moving weighted variance. @stdlib/math/statistics/incr/mwvariance
.
Two use cases:
factory
method to set the weights beforehand.accumulator( x, weight )
.Please ensure the following tasks are completed before filing an issue.
RFC:
.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.
Does this issue (or feature request) have any related issues?
No.
Any questions for reviewers?
No.
Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.
No.
Compute the inverse cosecant of x
where the output is in degrees. @stdlib/math/base/special/acscd
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.