Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b61c7b7
bench: refactor to use string interpolation in buffer/from-array-buffer
ivishal-g Jan 5, 2026
400cdf8
Merge branch 'stdlib-js:develop' into develop
ivishal-g Jan 6, 2026
b71f0ba
Merge branch 'stdlib-js:develop' into develop
ivishal-g Jan 7, 2026
b2d1650
Merge branch 'stdlib-js:develop' into develop
ivishal-g Jan 8, 2026
fd99196
Merge branch 'stdlib-js:develop' into develop
ivishal-g Jan 9, 2026
a1106fb
Merge branch 'stdlib-js:develop' into develop
ivishal-g Jan 14, 2026
92b0e51
Merge branch 'stdlib-js:develop' into develop
ivishal-g Jan 15, 2026
2b7fbdc
Merge branch 'stdlib-js:develop' into develop
ivishal-g Jan 18, 2026
96038de
docs: improve doctests for complex number instances in math/base/spec…
ivishal-g Jan 18, 2026
6f35229
problem
ivishal-g Jan 18, 2026
cc593a4
feat: add math/base/special/acschf
ivishal-g Jan 20, 2026
810cce3
Merge branch 'stdlib-js:develop' into acschf
ivishal-g Jan 20, 2026
6b26d59
fix: update copyright year in acschf test files to 2026
ivishal-g Jan 20, 2026
bb31a8f
chore: update according to code review
ivishal-g Jan 21, 2026
8469166
chore: update according to code review
ivishal-g Jan 21, 2026
344f9e3
feat: add `math/base/special/acothf`
hrshya Jan 21, 2026
bd79c97
docs: update README to have required sections
Planeshifter Jan 21, 2026
80e392a
docs: add missing closing section tag in `regexp` README
Planeshifter Jan 21, 2026
2d10f4f
docs: update namespace table of contents
stdlib-bot Jan 21, 2026
9705587
docs: fix and regenerate `random` namespace README
Planeshifter Jan 21, 2026
f548ffd
feat: add implementation of `stats/base/dists/halfnormal/kurtosis`
Om-A-osc Jan 22, 2026
ba0f3d4
feat: add `stats/base/dists/halfnormal/entropy`
bhargava-d16 Jan 22, 2026
d4d505b
feat: add `stats/strided/srangeabs`
Sachinn-64 Jan 22, 2026
442a7bd
feat: add `stats/base/dists/halfnormal/mode`
Lokeshranjan8 Jan 22, 2026
b1b2c0a
refactor: pre-calculate constant
Planeshifter Jan 22, 2026
479daff
docs: minor clean-up
Planeshifter Jan 22, 2026
5a7f6c3
bench: update random value generation
hrshya Jan 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions lib/node_modules/@stdlib/_tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,42 @@ This directory contains Node.js packages which are used for project development.

<!-- /.intro -->

<section class="usage">

## Usage

```javascript
var tools = require( '@stdlib/_tools' );
```

#### tools

Namespace containing project development utilities.

```javascript
var ns = tools;
// returns null
```

</section>

<!-- /.usage -->

<section class="examples">

## Examples

```javascript
var tools = require( '@stdlib/_tools' );

console.log( tools );
// => null
```

</section>

<!-- /.examples -->

<!-- Section for related `stdlib` packages. Do not manually edit this section, as it is automatically populated. -->

<section class="related">
Expand Down
3 changes: 3 additions & 0 deletions lib/node_modules/@stdlib/_tools/eslint/rules/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ var eslint = rules;
- <span class="signature">[`no-dynamic-exports`][@stdlib/_tools/eslint/rules/no-dynamic-exports]</span><span class="delimiter">: </span><span class="description">ESLint rule enforcing that only statically analyzable values are exported.</span>
- <span class="signature">[`no-dynamic-require`][@stdlib/_tools/eslint/rules/no-dynamic-require]</span><span class="delimiter">: </span><span class="description">ESLint rule enforcing that `require()` calls have only string literals as arguments.</span>
- <span class="signature">[`no-empty-comments`][@stdlib/_tools/eslint/rules/no-empty-comments]</span><span class="delimiter">: </span><span class="description">ESLint rule to disallow empty comments.</span>
- <span class="signature">[`no-empty-lines-between-requires`][@stdlib/_tools/eslint/rules/no-empty-lines-between-requires]</span><span class="delimiter">: </span><span class="description">ESLint rule to enforce no empty lines between module-level require statements.</span>
- <span class="signature">[`no-error-string-concat`][@stdlib/_tools/eslint/rules/no-error-string-concat]</span><span class="delimiter">: </span><span class="description">ESLint rule disallowing string concatenation in error messages.</span>
- <span class="signature">[`no-immediate-require`][@stdlib/_tools/eslint/rules/no-immediate-require]</span><span class="delimiter">: </span><span class="description">ESLint rule enforcing that `require()` expressions are not immediately invoked.</span>
- <span class="signature">[`no-internal-require`][@stdlib/_tools/eslint/rules/no-internal-require]</span><span class="delimiter">: </span><span class="description">ESLint rule disallowing `require()` calls into internals of another stdlib package.</span>
Expand Down Expand Up @@ -417,6 +418,8 @@ console.log( getKeys( rules ) );

[@stdlib/_tools/eslint/rules/no-empty-comments]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/_tools/eslint/rules/no-empty-comments

[@stdlib/_tools/eslint/rules/no-empty-lines-between-requires]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/_tools/eslint/rules/no-empty-lines-between-requires

[@stdlib/_tools/eslint/rules/no-error-string-concat]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/_tools/eslint/rules/no-error-string-concat

[@stdlib/_tools/eslint/rules/no-immediate-require]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/_tools/eslint/rules/no-immediate-require
Expand Down
3 changes: 3 additions & 0 deletions lib/node_modules/@stdlib/complex/float64/base/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ The namespace contains the following functions:
<div class="namespace-toc">

- <span class="signature">[`add( z1, z2 )`][@stdlib/complex/float64/base/add]</span><span class="delimiter">: </span><span class="description">add two double-precision complex floating-point numbers.</span>
- <span class="signature">[`add3( z1, z2, z3 )`][@stdlib/complex/float64/base/add3]</span><span class="delimiter">: </span><span class="description">compute the sum of three double-precision complex floating-point numbers.</span>
- <span class="signature">[`div( z1, z2 )`][@stdlib/complex/float64/base/div]</span><span class="delimiter">: </span><span class="description">divide two double-precision complex floating-point numbers.</span>
- <span class="signature">[`identity( z )`][@stdlib/complex/float64/base/identity]</span><span class="delimiter">: </span><span class="description">evaluate the identity function of a double-precision complex floating-point number.</span>
- <span class="signature">[`muladd( alpha, x, y )`][@stdlib/complex/float64/base/mul-add]</span><span class="delimiter">: </span><span class="description">perform a multiply-add operation involving three double-precision complex floating-point numbers.</span>
Expand Down Expand Up @@ -117,6 +118,8 @@ console.log( objectKeys( ns ) );

[@stdlib/complex/float64/base/add]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/complex/float64/base/add

[@stdlib/complex/float64/base/add3]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/complex/float64/base/add3

[@stdlib/complex/float64/base/div]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/complex/float64/base/div

[@stdlib/complex/float64/base/identity]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/complex/float64/base/identity
Expand Down
190 changes: 190 additions & 0 deletions lib/node_modules/@stdlib/math/base/special/acothf/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
<!--

@license Apache-2.0

Copyright (c) 2026 The Stdlib Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->

# acothf

> Compute the [inverse hyperbolic cotangent][hyperbolic-arctangent] of a single-precision floating-point number.

<section class="usage">

## Usage

```javascript
var acothf = require( '@stdlib/math/base/special/acothf' );
```

#### acothf( x )

Computes the [inverse hyperbolic cotangent][hyperbolic-arctangent] of a single-precision floating-point number.

```javascript
var v = acothf( 2.0 );
// returns ~0.5493

v = acothf( 1.0 );
// returns Infinity
```

The domain of the inverse hyperbolic cotangent is the union of the intervals `(-inf,-1]` and `[1,inf)`. If provided a value on the open interval `(-1,1)`, the function returns `NaN`.

```javascript
var v = acothf( 0.0 );
// returns NaN

v = acothf( 0.5 );
// returns NaN
```

</section>

<!-- /.usage -->

<section class="examples">

## Examples

<!-- eslint no-undef: "error" -->

```javascript
var uniform = require( '@stdlib/random/array/uniform' );
var logEachMap = require( '@stdlib/console/log-each-map' );
var acothf = require( '@stdlib/math/base/special/acothf' );

var x = uniform( 100, 1.0, 5.0, {
'dtype': 'float32'
});

logEachMap( 'acothf(%0.4f) = %0.4f', x, acothf );
```

</section>

<!-- /.examples -->

<!-- C interface documentation. -->

* * *

<section class="c">

## C APIs

<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. -->

<section class="intro">

</section>

<!-- /.intro -->

<!-- C usage documentation. -->

<section class="usage">

### Usage

```c
#include "stdlib/math/base/special/acothf.h"
```

#### stdlib_base_acothf( x )

Computes the [inverse hyperbolic cotangent][hyperbolic-arctangent] of a single-precision floating-point number.

```c
float out = stdlib_base_acothf( 2.0f );
// returns ~0.5493f
```

The function accepts the following arguments:

- **x**: `[in] float` input value.

```c
float stdlib_base_acothf( const float x );
```

</section>

<!-- /.usage -->

<!-- C API usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->

<section class="notes">

</section>

<!-- /.notes -->

<!-- C API usage examples. -->

<section class="examples">

### Examples

```c
#include "stdlib/math/base/special/acothf.h"
#include <stdio.h>

int main( void ) {
const float x[] = { 1.0f, 1.44f, 1.89f, 2.33f, 2.78f, 3.22f, 3.67f, 4.11f, 4.56f, 5.0f };

float v;
int i;
for ( i = 0; i < 10; i++ ) {
v = stdlib_base_acothf( x[ i ] );
printf( "acothf(%f) = %f\n", x[ i ], v );
}
}
```

</section>

<!-- /.examples -->

</section>

<!-- /.c -->

<!-- Section for related `stdlib` packages. Do not manually edit this section, as it is automatically populated. -->

<section class="related">

* * *

## See Also

</section>

<!-- /.related -->

<!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->

<section class="links">

[hyperbolic-arctangent]: https://en.wikipedia.org/wiki/Inverse_hyperbolic_function

<!-- <related-links> -->

<!-- </related-links> -->

</section>

<!-- /.links -->
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/**
* @license Apache-2.0
*
* Copyright (c) 2026 The Stdlib Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

'use strict';

// MODULES //

var bench = require( '@stdlib/bench' );
var uniform = require( '@stdlib/random/array/uniform' );
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
var pkg = require( './../package.json' ).name;
var acothf = require( './../lib' );


// MAIN //

bench( pkg, function benchmark( b ) {
var x;
var y;
var i;

x = uniform( 100, 1.1, 100.0, {
'dtype': 'float32'
});

b.tic();
for ( i = 0; i < b.iterations; i++ ) {
y = acothf( x[ i % x.length ] );
if ( isnanf( y ) ) {
b.fail( 'should not return NaN' );
}
}
b.toc();
if ( isnanf( y ) ) {
b.fail( 'should not return NaN' );
}
b.pass( 'benchmark finished' );
b.end();
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/**
* @license Apache-2.0
*
* Copyright (c) 2026 The Stdlib Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

'use strict';

// MODULES //

var resolve = require( 'path' ).resolve;
var bench = require( '@stdlib/bench' );
var uniform = require( '@stdlib/random/array/uniform' );
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
var tryRequire = require( '@stdlib/utils/try-require' );
var format = require( '@stdlib/string/format' );
var pkg = require( './../package.json' ).name;


// VARIABLES //

var acothf = tryRequire( resolve( __dirname, './../lib/native.js' ) );
var opts = {
'skip': ( acothf instanceof Error )
};


// MAIN //

bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
var x;
var y;
var i;

x = uniform( 100, 1.1, 100.0, {
'dtype': 'float32'
});

b.tic();
for ( i = 0; i < b.iterations; i++ ) {
y = acothf( x[ i % x.length ] );
if ( isnanf( y ) ) {
b.fail( 'should not return NaN' );
}
}
b.toc();
if ( isnanf( y ) ) {
b.fail( 'should not return NaN' );
}
b.pass( 'benchmark finished' );
b.end();
});
Loading
Loading