stdlib-js / stdlib-js/stdlib

[RFC]: add `ndarray` interface variants for missing modules in `@stdlib/blas/ext/base`

Aperta
#14,404 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Accepted BLAS C Feature JavaScript Tracking Issue
Lingua principale
JavaScript
Stelle
6k
Fork
1.3k
Merge medio
1g 3h
PR unite (30g)
611

Descrizione

### Description

This RFC proposes to add `ndarray` interface variants for the following modules present in `@stdlib/blas/ext/base` which do not yet have a corresponding implementation in `@stdlib/blas/ext/base/ndarray`.

Each module listed below needs an `ndarray`-style interface accepting offset and stride arguments, following the conventions of existing modules such as [`@stdlib/blas/ext/base/ndarray/daxpb`](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/blas/ext/base/ndarray/daxpb).

**`c` prefix (Complex float32)**

- [ ] capx
- [ ] cfill
- [ ] cindex-of-column
- [ ] cindex-of-row
- [ ] clast-index-of-row
- [ ] creplicate
- [ ] cwapx
- [ ] cwax
- [ ] cwhere
- [ ] cwxsy

**`d` prefix (float64)**

- [ ] dapx
- [ ] dapxsum
- [ ] dapxsumkbn
- [ ] dapxsumkbn2
- [ ] dapxsumors
- [ ] dapxsumpw
- [ ] dasumpw
- [ ] dcartesian-power
- [ ] dcartesian-product
- [ ] dcartesian-square
- [ ] dcuany
- [ ] dcuevery
- [ ] dcusome
- [ ] dediff
- [ ] dfill
- [ ] dfill-less-than
- [ ] dindex-of-column
- [ ] dindex-of-row
- [ ] dlast-index-of-row
- [ ] dminheap-sift-down
- [ ] dminheapify
- [ ] dmskrev
- [ ] dnanasum
- [ ] dnanasumors
- [ ] dnancount
- [ ] dnancusumkbn
- [ ] dnannsum
- [ ] dnannsumkbn
- [ ] dnannsumkbn2
- [ ] dnannsumors
- [ ] dnannsumpw
- [ ] dnone
- [ ] dones
- [ ] dreplicate
- [ ] drev
- [ ] drrss
- [ ] drss
- [ ] drssbl
- [ ] drsskbn
- [ ] dsapxsum
- [ ] dsapxsumpw
- [ ] dsnannsumors
- [ ] dsnansum
- [ ] dsnansumors
- [ ] dsnansumpw
- [ ] dsome
- [ ] dsort2hp
- [ ] dsort2ins
- [ ] dsort2sh
- [ ] dssum
- [ ] dssumors
- [ ] dssumpw
- [ ] dvander
- [ ] dwapx
- [ ] dwax
- [ ] dwhere
- [ ] dwxdy
- [ ] dwxmy
- [ ] dwxpy
- [ ] dwxsy
- [ ] dzeros

**`g` prefix (generic)**

- [ ] gapx
- [ ] gapxsum
- [ ] gapxsumkbn
- [ ] gapxsumkbn2
- [ ] gapxsumors
- [ ] gapxsumpw
- [ ] gasumpw
- [ ] gcartesian-power
- [ ] gcartesian-product
- [ ] gcartesian-square
- [ ] gconjoin
- [ ] gcuany
- [ ] gcuevery
- [ ] gcusome
- [ ] gediff
- [ ] gevery
- [ ] gfill
- [ ] gfill-by
- [ ] gfill-less-than
- [ ] gfirst-index-not-equal
- [ ] gindex-of-column
- [ ] gindex-of-falsy-row
- [ ] gindex-of-row
- [ ] gindex-of-same-value
- [ ] gindex-of-truthy-row
- [ ] glast-index-of-row
- [ ] gminheap-sift-down
- [ ] gminheapify
- [ ] gmskrev
- [ ] gnancount
- [ ] gnannsumkbn
- [ ] gnannsumpw
- [ ] gnone
- [ ] greplicate
- [ ] grev
- [ ] gsome
- [ ] gsort2hp
- [ ] gsort2ins
- [ ] gsort2sh
- [ ] gsorthp-by
- [ ] gsortins
- [ ] gsortsh
- [ ] gvander
- [ ] gwapx
- [ ] gwax
- [ ] gwaxpb
- [ ] gwhere
- [ ] gwxdy
- [ ] gwxmy
- [ ] gwxpy
- [ ] gwxsy

**`s` prefix (float32)**

- [ ] sapx
- [ ] sapxsum
- [ ] sapxsumkbn
- [ ] sapxsumkbn2
- [ ] sapxsumors
- [ ] sapxsumpw
- [ ] sasumpw
- [ ] scartesian-power
- [ ] scartesian-product
- [ ] scartesian-square
- [ ] scuany
- [ ] scuevery
- [ ] scusome
- [ ] scusumpw
- [ ] sdsapxsum
- [ ] sdsapxsumpw
- [ ] sdsnansum
- [ ] sdsnansumpw
- [ ] sdssum
- [ ] sdssumpw
- [ ] sediff
- [ ] sfill
- [ ] sindex-of-column
- [ ] sindex-of-row
- [ ] slast-index-of-row
- [ ] sminheap-sift-down
- [ ] smskrev
- [ ] snancount
- [ ] snone
- [ ] sones
- [ ] sreplicate
- [ ] srev
- [ ] ssome
- [ ] ssort2hp
- [ ] ssort2ins
- [ ] ssort2sh
- [ ] ssortins
- [ ] ssortsh
- [ ] svander
- [ ] swapx
- [ ] swax
- [ ] swhere
- [ ] swxdy
- [ ] swxmy
- [ ] swxpy
- [ ] swxsy
- [ ] szeros

**`z` prefix (complex128)**

- [ ] zany
- [ ] zapx
- [ ] zcartesian-product
- [ ] zcartesian-square
- [ ] zfill
- [ ] zindex-of-column
- [ ] zindex-of-row
- [ ] zlast-index-of-falsy
- [ ] zlast-index-of-row
- [ ] znancount
- [ ] zreplicate
- [ ] zwapx
- [ ] zwax
- [ ] zwhere
- [ ] zwxmy
- [ ] zwxsy

### Related Issues

No.

### Questions

No.

### Other

No.

### Checklist

- [x] I have read and understood the [Code of Conduct](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md).
- [x] Searched for existing issues and pull requests.
- [x] The issue name begins with `RFC:`.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start by reading the existing @stdlib/blas/ext/base/ndarray/daxpb implementation and compare it with its corresponding base module. Work through the listed missing c, d, g, s, and z modules, following the existing ndarray interface conventions for offsets and strides. Done means every listed module has a corresponding ndarray implementation and its tests pass.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
backend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.