Skip to content
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
1737 commits
Select commit Hold shift + click to select a range
1faf837
refactor: update `stats/base/dnanstdevpn` native addon from C++ to C
DhruvArvindSingh Jan 6, 2025
ee438ac
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 6, 2025
8f5e6ae
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 6, 2025
aec2683
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 6, 2025
62edd12
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 6, 2025
701d102
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 6, 2025
205cb19
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 6, 2025
6d41a09
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 6, 2025
482b635
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 6, 2025
952f332
feat: add `STDLIB_MATH_BASE_NAPI_MODULE_ID_D` macro in `math/base/nap…
0PrashantYadav0 Jan 6, 2025
85f7220
feat: add `STDLIB_MATH_BASE_NAPI_MODULE_IID_D` macro in `math/base/na…
0PrashantYadav0 Jan 6, 2025
65813c9
style: fix indentation in manifest.json files
aayush0325 Jan 6, 2025
cd0dfcc
style: fix indentation in manifest.json files
aayush0325 Jan 6, 2025
17234b1
feat: add C implementation for `stats/base/dists/binomial/mode`
0PrashantYadav0 Jan 6, 2025
f021dc7
docs: update namespace table of contents
stdlib-bot Jan 7, 2025
4e65455
docs: update related packages sections
stdlib-bot Jan 7, 2025
a1e0a27
docs: update REPL namespace documentation
stdlib-bot Jan 7, 2025
a76ef8d
docs: update namespace TypeScript declaration comments
stdlib-bot Jan 7, 2025
62a3d53
docs: add links to public calendar
kgryte Jan 7, 2025
5f5081b
docs: add note about office hours and public calendar
kgryte Jan 7, 2025
d4242ed
feat: add C implementation for `stats/base/dists/geometric/mean`
0PrashantYadav0 Jan 8, 2025
91c0b4a
fix: wrap void function call in `API_SUFFIX`
aayush0325 Jan 8, 2025
e83e199
docs: update related packages sections
stdlib-bot Jan 8, 2025
e831281
feat: add C implementation for `stats/base/dists/binomial/variance`
0PrashantYadav0 Jan 8, 2025
bdb260b
refactor: update `stats/base/smeanpw` native addon from C++ to C
vivekmaurya001 Jan 8, 2025
2765fd3
refactor: update `stats/base/snanmean` native addon from C++ to C
vivekmaurya001 Jan 8, 2025
9e7784f
refactor: update `stats/base/snanmeanors` native addon from C++ to C
vivekmaurya001 Jan 8, 2025
b0fc5c3
refactor: update `stats/base/snanmeanpn` native addon from C++ to C
vivekmaurya001 Jan 8, 2025
4353bc2
refactor: update `stats/base/smeanpn` native addon from C++ to C
vivekmaurya001 Jan 8, 2025
09468b8
refactor: update `stats/base/smeanors` native addon from C++ to C
vivekmaurya001 Jan 8, 2025
5a963d9
refactor: update `stats/base/smeanlipw` native addon from C++ to C
vivekmaurya001 Jan 8, 2025
7701ec6
feat: add C `ndarray` API and refactor `blas/ext/base/dsumors`
headlessNode Jan 8, 2025
0660f98
refactor: update `blas/ext/base/gnansumkbn` to follow current project…
headlessNode Jan 8, 2025
cc684bb
refactor: update `blas/ext/base/gnansumkbn2` to follow current projec…
headlessNode Jan 8, 2025
63fc16a
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 8, 2025
e16bbea
refactor: update `blas/ext/base/gnansumpw` to follow current project …
headlessNode Jan 8, 2025
2cf61e4
refactor: update `blas/ext/base/gnansum` to follow current project co…
headlessNode Jan 8, 2025
d879a82
refactor: update `blas/ext/base/gnansumors` to follow current project…
headlessNode Jan 8, 2025
a6dd5a4
docs: fix examples require path for `blas/ext/base/gnansumpw`
headlessNode Jan 8, 2025
6e4c19c
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 8, 2025
6d3dcf8
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 8, 2025
2ad00e3
feat: add C `ndarray` API and refactor `blas/ext/base/dsumpw`
headlessNode Jan 8, 2025
50a3573
feat: add C implementation for `stats/base/dists/chisquare/mgf`
anandkaranubc Jan 8, 2025
4ee1872
fix: wrap function calls in `API_SUFFIX` in native addons
aayush0325 Jan 8, 2025
e0fb81e
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 8, 2025
d636094
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 8, 2025
6c9099a
docs: fix description
kgryte Jan 8, 2025
74e603f
docs: fix description
kgryte Jan 8, 2025
75e66d7
docs: fix description
kgryte Jan 8, 2025
3c4e6f1
feat: add 0d accumulator
kgryte Jan 8, 2025
590a193
feat: add 0d accessor accumulator
kgryte Jan 8, 2025
d3be451
feat: add 10d accumulator
kgryte Jan 8, 2025
d5d637f
feat: add 10d accessors accumulator
kgryte Jan 8, 2025
1d53f6c
feat: add 10d blocked accumulator
kgryte Jan 8, 2025
544b0a0
feat: add 10d blocked accessor accumulator
kgryte Jan 8, 2025
7a30808
feat: add 1d accumulator
kgryte Jan 8, 2025
8085ae6
feat: add 1d accessors accumulator
kgryte Jan 8, 2025
f8140b1
feat: add 2d accumulator
kgryte Jan 8, 2025
394e68d
feat: add 2d accessors accumulator
kgryte Jan 8, 2025
c1ea63a
docs: fix comment
kgryte Jan 8, 2025
9ea47e4
docs: fix comment
kgryte Jan 8, 2025
d0e366e
feat: add 2d blocked accumulator
kgryte Jan 8, 2025
3dc691c
feat: add 2d blocked accessors accumulator
kgryte Jan 8, 2025
ef4f99b
feat: add 3d accumulator
kgryte Jan 8, 2025
5c6bf73
feat: add 3d accessors accumulator
kgryte Jan 8, 2025
07ff668
feat: add 3d blocked accumulator
kgryte Jan 8, 2025
2b5ea5f
feat: add 3d blocked accessors accumulator
kgryte Jan 8, 2025
5d6a93b
feat: add 4d accumulator
kgryte Jan 8, 2025
8c4caf3
feat: add 4d accessors accumulator
kgryte Jan 8, 2025
551f8af
feat: add 4d blocked accumulator
kgryte Jan 8, 2025
5577cba
feat: add 4d blocked accessors accumulator
kgryte Jan 8, 2025
0fcd8b5
feat: add 5d accumulator
kgryte Jan 8, 2025
9eabc9f
feat: add 5d accessors accumulator
kgryte Jan 8, 2025
a7444d8
feat: add 5d blocked accumulator
kgryte Jan 9, 2025
9db5848
feat: add 5d blocked accessors accumulator
kgryte Jan 9, 2025
184af66
feat: add 6d accumulator
kgryte Jan 9, 2025
596300f
feat: add 6d accessors accumulator
kgryte Jan 9, 2025
dce1093
feat: add 6d blocked accumulator
kgryte Jan 9, 2025
2b36eb5
feat: add 6d blocked accessors accumulator
kgryte Jan 9, 2025
78e3536
feat: add 7d accumulator
kgryte Jan 9, 2025
48e881b
feat: add 7d accessors accumulator
kgryte Jan 9, 2025
47108f1
feat: add 7d blocked accumulator
kgryte Jan 9, 2025
afafb33
feat: add 7d blocked accessors accumulator
kgryte Jan 9, 2025
08d3a33
feat: add 8d accumulator
kgryte Jan 9, 2025
f73f26e
feat: add 8d accessors accumulator
kgryte Jan 9, 2025
fa6fef5
feat: add 8d blocked accumulator
kgryte Jan 9, 2025
1490d67
feat: add 8d blocked accessors accumulator
kgryte Jan 9, 2025
f9bbedd
feat: add 9d accumulator
kgryte Jan 9, 2025
9631aeb
feat: add 9d accessors accumulators
kgryte Jan 9, 2025
adb3ede
feat: add 9d blocked accumulator
kgryte Jan 9, 2025
8778ceb
feat: add 9d blocked accessors accumulator
kgryte Jan 9, 2025
290c37f
feat: add an n-d accumulator
kgryte Jan 9, 2025
7ac886b
feat: add an n-d accessors accumulator
kgryte Jan 9, 2025
0aba668
feat: add main entry point
kgryte Jan 9, 2025
b527f50
chore: update copyright years
kgryte Jan 9, 2025
940b3bb
docs: add example
kgryte Jan 9, 2025
eb7bb7c
docs: add repl help
kgryte Jan 9, 2025
836b2ae
docs: add TypeScript declarations
kgryte Jan 9, 2025
832a466
feat: add `array/base/mskfilter2`
kgryte Jan 10, 2025
dffb284
feat: add `mskfilter2` to namespace
kgryte Jan 10, 2025
47fd3d9
feat: add `bquaternary3d` to namespace
kgryte Jan 10, 2025
6778a09
feat: add `bquaternary4d` to namespace
kgryte Jan 10, 2025
bd2f97f
feat: add `bquaternary5d` to namespace
kgryte Jan 10, 2025
9879918
feat: add `bquinary4d` to namespace
kgryte Jan 10, 2025
84e2721
feat: add `bternary3d` to namespace
kgryte Jan 10, 2025
bcf01d6
feat: add `bternary4d` to namespace
kgryte Jan 10, 2025
2981532
feat: add `bternary5d` to namespace
kgryte Jan 10, 2025
e0f3e49
docs: update list of contributors
stdlib-bot Jan 9, 2025
f6ccc1e
docs: update related packages sections
stdlib-bot Jan 9, 2025
742e79f
docs: update namespace TypeScript declarations
stdlib-bot Jan 9, 2025
6794ab7
docs: update REPL namespace documentation
stdlib-bot Jan 9, 2025
8300345
docs: update namespace table of contents
stdlib-bot Jan 9, 2025
d8a5208
feat: add `math/base/special/dirac-deltaf`
aayush0325 Jan 9, 2025
0b823e0
feat: add `mskbinary3d` to namespace
kgryte Jan 10, 2025
51f5b89
feat: add `mskbinary4d` to namespace
kgryte Jan 10, 2025
c724186
feat: add `mskbinary5d` to namespace
kgryte Jan 10, 2025
5df7cc9
feat: add `mskunary4d` to namespace
kgryte Jan 10, 2025
725cbac
feat: add `mskunary5d` to namespace
kgryte Jan 10, 2025
a199df7
feat: add `unary3dBy` to namespace
kgryte Jan 10, 2025
dbb6173
feat: add `unary4dBy` to namespace
kgryte Jan 10, 2025
a5c6dfb
feat: add `unary5dBy` to namespace
kgryte Jan 10, 2025
8ff7ea5
chore: clean-up documentation and fix tests
kgryte Jan 10, 2025
12c211f
feat: add `mskfilterMap` to namespace
kgryte Jan 10, 2025
6941aec
docs: fix grammar
kgryte Jan 10, 2025
ec7fe1b
docs: fix comment
kgryte Jan 10, 2025
9ac3c5a
docs: fix comment
kgryte Jan 10, 2025
e831506
docs: fix comment
kgryte Jan 10, 2025
78a5114
feat: add `array/base/mskfiltern`
kgryte Jan 10, 2025
120d575
feat: add `mskfiltern` to namespace
kgryte Jan 10, 2025
056a4e1
feat: add `ndarray/base/normalize-indices`
kgryte Jan 10, 2025
a708a78
feat: add `normalizeIndices` to namespace
kgryte Jan 10, 2025
b512df0
refactor: allow input to be any array-like object of numbers
kgryte Jan 10, 2025
3215939
feat: add `ndarray/base/to-normalized-indices`
kgryte Jan 10, 2025
61e59bf
feat: add `toNormalizedIndices` to namespace
kgryte Jan 10, 2025
8beda4f
docs: fix example return value
kgryte Jan 10, 2025
fba680b
docs: fix return type
kgryte Jan 10, 2025
444d0a9
feat: add `ndarray/base/to-unique-normalized-indices`
kgryte Jan 10, 2025
e6e83a6
feat: add `toUniqueNormalizedIndices` to namespace
kgryte Jan 10, 2025
f29500d
chore: fix meta data
kgryte Jan 10, 2025
45ddf67
chore: fix meta data
kgryte Jan 10, 2025
b713f56
chore: fix meta data
kgryte Jan 10, 2025
de0b57d
feat: add `array/base/indices-complement`
kgryte Jan 10, 2025
85ed4e4
feat: add `indicesComplement` to namespace
kgryte Jan 10, 2025
db03098
refactor: update `blas/ext/base/gsumpw` to follow current project con…
headlessNode Jan 10, 2025
16e0945
refactor: update `blas/ext/base/gsumors` to follow current project co…
headlessNode Jan 10, 2025
91c6e8e
refactor: update `blas/ext/base/gsumkbn2` to follow current project c…
headlessNode Jan 10, 2025
ccb7d55
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 10, 2025
5317398
refactor: update `blas/ext/base/gnannsumkbn` to follow current projec…
headlessNode Jan 10, 2025
6ca929e
docs: update related packages sections
stdlib-bot Jan 10, 2025
1a2bbc2
docs: update REPL namespace documentation
stdlib-bot Jan 10, 2025
eb485da
feat: add C implementation for `stats/base/dists/triangular/variance`
0PrashantYadav0 Jan 10, 2025
1b6d1df
feat: add C implementation for `stats/base/dists/degenerate/mode`
anandkaranubc Jan 10, 2025
d2ea486
refactor: use base array utility
kgryte Jan 10, 2025
bbd77db
bench: simplify value selection
kgryte Jan 10, 2025
f63a9f7
feat: add `ndarray/base/assert/is-row-major-string`
kgryte Jan 10, 2025
9f1002d
feat: add `isRowMajorString` to namespace
kgryte Jan 10, 2025
4a4b756
feat: add `ndarray/base/assert/is-column-major-string`
kgryte Jan 10, 2025
a1df181
feat: add `isColumnMajorString` to namespace
kgryte Jan 10, 2025
493ada2
docs: fix description
kgryte Jan 11, 2025
af534e5
feat: add `array/base/take-indexed2`
kgryte Jan 11, 2025
6d927b9
feat: add `takeIndexed2` to namespace
kgryte Jan 11, 2025
896b2b9
feat: support boolean arrays
kgryte Jan 11, 2025
b1dad30
feat: add `array/base/fill`
kgryte Jan 11, 2025
ad4547d
feat: add `fill` to namespace
kgryte Jan 11, 2025
219c79c
feat: add `array/base/scattered`
kgryte Jan 11, 2025
e726ec2
feat: add `scattered` to namespace
kgryte Jan 11, 2025
c1b05e5
chore: fix spelling
kgryte Jan 11, 2025
ed758e6
feat: add `array/base/scatter-filled`
kgryte Jan 11, 2025
f5d1e54
feat: add `scatterFilled` to namespace
kgryte Jan 11, 2025
2ca9ea2
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 11, 2025
91877fd
feat: add C implementation for `stats/base/dists/discrete-uniform/ent…
0PrashantYadav0 Jan 11, 2025
236a651
feat: add C implementation for `stats/base/dists/degenerate/stdev`
anandkaranubc Jan 11, 2025
5a65eab
feat: add c implementation of `stats/base/dists/degenerate/mean`
Vinit-Pandit Jan 11, 2025
9bf4b9d
feat: add C implementation for `stats/base/dists/discrete-uniform/med…
0PrashantYadav0 Jan 11, 2025
0f039cf
feat: add C implementation for `stats/base/dists/discrete-uniform/mean`
0PrashantYadav0 Jan 11, 2025
74c7904
refactor: use ndarray utility to normalize an index
kgryte Jan 11, 2025
9d621dd
fix: compute singleton strides as if strides computed apriori
kgryte Jan 11, 2025
71c4aac
docs: add missing comment
kgryte Jan 11, 2025
4a52a48
feat: add `array/base/assert/is-sorted-ascending`
kgryte Jan 11, 2025
4343acd
feat: add `isSortedAscending` to namespace
kgryte Jan 11, 2025
19ad7f3
feat: add `ndarray/base/spread-dimensions`
kgryte Jan 11, 2025
5f36eac
feat: add `spreadDimensions` to namespace
kgryte Jan 11, 2025
fc9a541
docs: update namespace table of contents
stdlib-bot Jan 11, 2025
491842f
docs: update REPL namespace documentation
stdlib-bot Jan 11, 2025
120f70d
docs: update namespace TypeScript declaration comments
stdlib-bot Jan 11, 2025
d06b6ff
docs: update related packages sections
stdlib-bot Jan 11, 2025
ec5a702
feat: add C implementation for `stats/base/dists/discrete-uniform/kur…
0PrashantYadav0 Jan 11, 2025
f3aaf45
feat: add C implementation for `stats/base/dists/discrete-uniform/stdev`
0PrashantYadav0 Jan 11, 2025
ac6a484
feat: add C implementation for `stats/base/dists/discrete-uniform/ske…
0PrashantYadav0 Jan 11, 2025
f36efde
feat: add C implementation for `stats/base/dists/discrete-uniform/var…
0PrashantYadav0 Jan 11, 2025
adac48c
refactor: update `stats/base/dmeanvar` native addon from C++ to C
DhruvArvindSingh Jan 11, 2025
917d065
refactor: update `stats/base/dmeanvarpn` native addon from C++ to C
DhruvArvindSingh Jan 11, 2025
625b335
refactor: update `stats/base/dmeanstdevpn` native addon from C++ to C
DhruvArvindSingh Jan 11, 2025
751e0aa
refactor: update `stats/base/dmeanstdev` native addon from C++ to C
DhruvArvindSingh Jan 11, 2025
6949556
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 11, 2025
eaf0d03
docs: update examples in `stats/base/scumaxabs`
aayush0325 Jan 11, 2025
3b5e928
refactor: update `blas/ext/base/gcusumors` to follow current project …
headlessNode Jan 11, 2025
494b34d
test: improve test values to resolve ambiguity in expected values
kgryte Jan 11, 2025
6dca760
test: update test values to resolve ambiguity in expected values
kgryte Jan 11, 2025
5f5de2d
refactor: update `blas/ext/base/grev` to follow current project conve…
headlessNode Jan 11, 2025
2303373
feat: add `math/base/assert/is-probabilityf`
vivekmaurya001 Jan 11, 2025
4f98625
feat: add C implementation for `stats/base/dists/discrete-uniform/mgf`
0PrashantYadav0 Jan 11, 2025
6658733
feat: add C implementation for `stats/base/dists/discrete-uniform/cdf`
0PrashantYadav0 Jan 11, 2025
54c34fd
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 11, 2025
664ba7e
feat: add C ndarray interface and refactor implementation for `stats/…
aayush0325 Jan 11, 2025
49871bb
refactor: use stdlib dependencies instead of math.h in `stats/base/dc…
aayush0325 Jan 11, 2025
ecc06d5
feat: add `fixer` function `eslint/rules/repl-namespace-order`
headlessNode Jan 11, 2025
4fb7252
refactor: update `math/base/assert/is-prime` to follow latest project…
vivekmaurya001 Jan 11, 2025
303b253
refactor: update `math/base/assert/is-probability` to follow latest p…
vivekmaurya001 Jan 11, 2025
7740d91
docs: fix description
kgryte Jan 11, 2025
11750bd
fix: address precision regression and fix benchmark dtypes
kgryte Jan 11, 2025
261efdf
chore: clean-up, fix tests, and add FIXMEs
kgryte Jan 12, 2025
f1bbc3d
docs: update examples
kgryte Jan 12, 2025
0d44a88
docs: update examples
kgryte Jan 12, 2025
ac4b475
docs: update examples
kgryte Jan 12, 2025
1756a79
docs: improve example clarity
kgryte Jan 12, 2025
3bde398
docs: improve example clarity
kgryte Jan 12, 2025
ea153aa
feat: update error databases
stdlib-bot Jan 12, 2025
5886923
docs: update REPL namespace documentation
stdlib-bot Jan 12, 2025
8f9ba54
docs: update namespace table of contents (#4708)
stdlib-bot Jan 12, 2025
95f1b33
feat: update namespace TypeScript declarations
stdlib-bot Jan 12, 2025
5a6b132
build: cache dependencies in `lint_changed_files` workflow
Planeshifter Jan 12, 2025
f3930e1
docs: update examples
kgryte Jan 12, 2025
75961f9
docs: update examples
kgryte Jan 12, 2025
18ee830
docs: update examples
kgryte Jan 12, 2025
61d579c
docs: update examples
kgryte Jan 12, 2025
0c9b5fc
docs: update examples
kgryte Jan 12, 2025
353f0b6
docs: update examples
kgryte Jan 12, 2025
ca55186
feat: add `lapack/base/zlacpy`
rreusser Jan 12, 2025
dfb039a
chore: directly draw from the desired distribution instead of adding …
Planeshifter Jan 12, 2025
e7e6940
chore: directly draw from the desired distribution instead of adding …
Planeshifter Jan 12, 2025
728f999
chore: directly draw from the desired distribution instead of adding …
Planeshifter Jan 12, 2025
99c4163
chore: directly draw from desired distribution and tweak ranges
Planeshifter Jan 12, 2025
3bd9c98
chore: fix indentation
Planeshifter Jan 12, 2025
3e30c1e
chore: directly draw from the desired distribution instead of adding …
Planeshifter Jan 12, 2025
0a47179
chore: remove EPS addition and directly draw from desired distribution
Planeshifter Jan 12, 2025
9fa3a1e
chore: remove EPS addition and directly draw from desired distribution
Planeshifter Jan 12, 2025
c4f1fb5
docs: update examples
kgryte Jan 12, 2025
748aaf9
docs: update examples
kgryte Jan 12, 2025
96200e4
docs: update examples
kgryte Jan 12, 2025
922a5fc
docs: add note
kgryte Jan 13, 2025
5ff4f9d
docs: add note
kgryte Jan 13, 2025
bedcb6e
docs: add note
kgryte Jan 13, 2025
fc0adc6
docs: add note
kgryte Jan 13, 2025
b7842ac
build: bump version of cache action
Planeshifter Jan 13, 2025
a8c91f0
build: cache dependencies in coverage workflow
Planeshifter Jan 13, 2025
ba50a65
build: cache dependencies in run_affected_* workflows
Planeshifter Jan 13, 2025
0e7a6fe
docs: update related packages sections
stdlib-bot Jan 13, 2025
3ffe13f
docs: update namespace TypeScript declaration comments
stdlib-bot Jan 13, 2025
10278ad
Merge remote-tracking branch 'origin/develop' into dlartv
aman-095 Jan 13, 2025
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
259 changes: 259 additions & 0 deletions lib/node_modules/@stdlib/lapack/base/dlartv/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,259 @@
<!--

@license Apache-2.0

Copyright (c) 2024 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.

-->

# dlartv

> Apply a vector of real plane rotations to elements of real vectors `X` and `Y`.

<section class = "usage">

## Usage

```javascript
var dlartv = require( '@stdlib/lapack/base/dlartv' );
```

#### dlartv( N, X, strideX, Y, strideY, C, S, strideCS )

Applies a vector of real plane rotations to elements of real vectors `X` and `Y`.

```javascript
var Float64Array = require( '@stdlib/array/float64' );

var X = new Float64Array( [ 1.0, 1.0 ] );
var Y = new Float64Array( [ 1.0, 1.0 ] );
var C = new Float64Array( [ 1.0, 1.0 ] );
var S = new Float64Array( [ 0.0, 0.0 ] );

X = dlartv( 2, X, 1, Y, 1, C, S, 1 );
// X => <Float64Array>[ 1.0, 1.0 ]
```

The function has the following parameters:

- **N**: number of plane rotations to apply.
- **X**: input [`Float64Array`][mdn-float64array].
- **strideX**: stride length for `X`.
- **Y**: input [`Float64Array`][mdn-float64array].
- **strideY**: stride length for `Y`.
- **C**: input [`Float64Array`][mdn-float64array] containing the cosine values of the plane rotations.
- **S**: input [`Float64Array`][mdn-float64array] containing the sine values of the plane rotations.
- **strideCS**: stride length for `C` and `S`.

Note that indexing is relative to the first index. To introduce an offset, use [`typed array`][mdn-typed-array] views.

<!-- eslint-disable stdlib/capitalized-comments -->

```javascript
var Float64Array = require( '@stdlib/array/float64' );

// Initial arrays...
var X0 = new Float64Array( [ 0.0, 1.0, 1.0 ] );
var Y0 = new Float64Array( [ 0.0, 1.0, 1.0 ] );
var C0 = new Float64Array( [ 0.0, 1.0, 1.0 ] );
var S0 = new Float64Array( [ 0.0, 0.0, 0.0 ] );

// Create offset views...
var X1 = new Float64Array( X0.buffer, X0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
var Y1 = new Float64Array( Y0.buffer, Y0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
var C1 = new Float64Array( C0.buffer, C0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
var S1 = new Float64Array( S0.buffer, S0.BYTES_PER_ELEMENT*1 ); // start at 2nd element

X1 = dlartv( 2, X1, 1, Y1, 1, C1, S1, 1 );
// X0 => <Float64Array>[ 0.0, 1.0, 1.0 ]
```

#### dlartv.ndarray( N, X, sx, ox, Y, sy, oy, C, sc, oc, S, ss, os )

Applies a vector of real plane rotations to elements of real vectors `X` and `Y` using alternative semantic indexing.

```javascript
var Float64Array = require( '@stdlib/array/float64' );

var X = new Float64Array( [ 1.0, 1.0 ] );
var Y = new Float64Array( [ 1.0, 1.0 ] );
var C = new Float64Array( [ 1.0, 1.0 ] );
var S = new Float64Array( [ 0.0, 0.0 ] );

X = dlartv.ndarray( 2, X, 1, 0, Y, 1, 0, C, 1, 0, S, 1, 0 );
// X => <Float64Array>[ 1.0, 1.0 ]
```

The function has the following parameters:

- **N**: number of plane rotations to apply.
- **X**: input [`Float64Array`][mdn-float64array].
- **sx**: stride length for `X`.
- **ox**: starting index for `X`.
- **Y**: input [`Float64Array`][mdn-float64array].
- **sy**: stride length for `Y`.
- **oy**: starting index for `Y`.
- **C**: input [`Float64Array`][mdn-float64array] containing the cosine values of the plane rotations.
- **sc**: stride length for `C`.
- **oc**: starting index for `C`.
- **S**: input [`Float64Array`][mdn-float64array] containing the sine values of the plane rotations.
- **ss**: stride length for `S`.
- **os**: starting index for `S`.

While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying buffer, the offset parameters support indexing semantics based on starting indices. For example,

```javascript
var Float64Array = require( '@stdlib/array/float64' );

var X = new Float64Array( [ 1.0, 1.0 ] );
var Y = new Float64Array( [ 1.0, 1.0 ] );
var C = new Float64Array( [ 1.0, 1.0 ] );
var S = new Float64Array( [ 0.5, 0.4 ] );

X = dlartv.ndarray( 2, X, -1, 1, Y, 1, 0, C, 1, 0, S, 1, 0 );
// X => <Float64Array>[ 1.4, 1.5 ]
```

</section>

<!-- /.usage -->

<section class="notes">

## Notes

- `dlartv()` corresponds to the [LAPACK][lapack] routine [`dlartv`][lapack-dlartv].

</section>

<!-- /.notes -->

<section class="examples">

## Examples

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

```javascript
var Float64Array = require( '@stdlib/array/float64' );
var dlartv = require( '@stdlib/lapack/base/dlartv' );

var X = new Float64Array( [ 1.0, 1.0 ] );
var Y = new Float64Array( [ 1.0, 1.0 ] );
var C = new Float64Array( [ 1.0, 1.0 ] );
var S = new Float64Array( [ 0.5, 0.5 ] );

X = dlartv( 2, X, 1, Y, 1, C, S, 1 );
console.log( X );
console.log( Y );
```

</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
TODO
```

#### TODO

TODO.

```c
TODO
```

TODO

```c
TODO
```

</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
TODO
```

</section>

<!-- /.examples -->

</section>

<!-- /.c -->

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

<section class="related">

</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">

[lapack]: https://www.netlib.org/lapack/explore-html/

[lapack-dlartv]: https://www.netlib.org/lapack/explore-html/df/d2e/group__lartv_ga7b74ad84d2c14b74df63690c5af1ce21.html#ga7b74ad84d2c14b74df63690c5af1ce21

[mdn-float64array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array

[mdn-typed-array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray

</section>

<!-- /.links -->
101 changes: 101 additions & 0 deletions lib/node_modules/@stdlib/lapack/base/dlartv/benchmark/benchmark.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
/**
* @license Apache-2.0
*
* Copyright (c) 2024 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 isnan = require( '@stdlib/math/base/assert/is-nan' );
var pow = require( '@stdlib/math/base/special/pow' );
var pkg = require( './../package.json' ).name;
var dlartv = require( './../lib/dlartv.js' );


// VARIABLES //

var options = {
'dtype': 'float64'
};


// FUNCTIONS //

/**
* Creates a benchmark function.
*
* @private
* @param {PositiveInteger} len - array length
* @returns {Function} benchmark function
*/
function createBenchmark( len ) {
var X = uniform( len, -10.0, 10.0, options );
var Y = uniform( len, -10.0, 10.0, options );
var C = uniform( len, -1.0, 1.0, options );
var S = uniform( len, -1.0, 1.0, options );

return benchmark;

function benchmark( b ) {
var i;

b.tic();
for ( i = 0; i < b.iterations; i++ ) {
X = uniform( len, -10.0, 10.0, options );
Y = uniform( len, -10.0, 10.0, options );
X = dlartv( len, X, 1, Y, 1, C, S, 1 );
if ( isnan( X[ i%X.length ] ) ) {
b.fail( 'should not return NaN' );
}
}
b.toc();
if ( isnan( X[ i%X.length ] ) ) {
b.fail( 'should not return NaN' );
}
b.pass( 'benchmark finished' );
b.end();
}
}


// MAIN //

/**
* Main execution sequence.
*
* @private
*/
function main() {
var len;
var min;
var max;
var f;
var i;

min = 1; // 10^min
max = 6; // 10^max

for ( i = min; i <= max; i++ ) {
len = pow( 10, i );
f = createBenchmark( len );
bench( pkg+':len='+len, f );
}
}

main();
Loading