stdlib-js / stdlib-js/stdlib

Incorrect domain of `t` used in `stats/base/dists/normal/mgf` across benchmark, test and examples

Aperta
#12,247 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
JavaScript
Stelle
6k
Fork
1.3k
Merge medio
1g 3h
PR unite (30g)
611

Descrizione

For the mgf function in normal distribution `mgf( t, mu, sigma)` t is allowed to take any value within `(-inf, +inf)` but in the test, benchmarks and examples the domain used is `[0, +inf)` except the C benchmark file.

- For C benchmark in `stats/base/dists/normal/mgf/benchmark/c/benchmark.c` at [line 105](https://github.com/stdlib-js/stdlib/blob/develop/lib/node_modules/%40stdlib/stats/base/dists/normal/mgf/benchmark/c/benchmark.c#L105) the domain of `t` is correct.
```c
for ( i = 0; i < 100; i++ ) {
t[ i ] = random_uniform( -100.0, 100.0 );
```

- For JS benchmarks in `stats/base/dists/normal/mgf/benchmark/benchmark.js` at [line 76](https://github.com/stdlib-js/stdlib/blob/develop/lib/node_modules/%40stdlib/stats/base/dists/normal/mgf/benchmark/benchmark.js#L76-L78), [line 45](https://github.com/stdlib-js/stdlib/blob/develop/lib/node_modules/%40stdlib/stats/base/dists/normal/mgf/benchmark/benchmark.js#L45) and `stats/base/dists/normal/mgf/benchmark/benchmark.native.js` at [line 54](https://github.com/stdlib-js/stdlib/blob/develop/lib/node_modules/%40stdlib/stats/base/dists/normal/mgf/benchmark/benchmark.native.js#L54) the domain of `t` is `[0,1)`
```js
t = uniform( 100, 0.0, 1.0, {
'dtype': 'float64'
});
```

- For both C and JS examples in `stats/base/dists/normal/mgf/examples/index.js` at [line 30](https://github.com/stdlib-js/stdlib/blob/develop/lib/node_modules/%40stdlib/stats/base/dists/normal/mgf/examples/index.js#L30) the domain is `[0,10)` and in `stats/base/dists/normal/mgf/examples/c/example.c` at [line 37](https://github.com/stdlib-js/stdlib/blob/develop/lib/node_modules/%40stdlib/stats/base/dists/normal/mgf/examples/c/example.c#L37) the domain is `[0,1)`

JS file
```js
var t = uniform( 10, 0.0, 10.0, opts );
```
C file
```c
t = random_uniform( 0.0, 1.0 );
```

- For the Julia test fixture runner in `stats/base/dists/normal/mgf/test/fixtures/julia/runner.jl` at [line 74](https://github.com/stdlib-js/stdlib/blob/develop/lib/node_modules/%40stdlib/stats/base/dists/normal/mgf/test/fixtures/julia/runner.jl#L74), [line 80](https://github.com/stdlib-js/stdlib/blob/develop/lib/node_modules/%40stdlib/stats/base/dists/normal/mgf/test/fixtures/julia/runner.jl#L80) and [line 86](https://github.com/stdlib-js/stdlib/blob/develop/lib/node_modules/%40stdlib/stats/base/dists/normal/mgf/test/fixtures/julia/runner.jl#L86) the value `x` (which corresponds to `t`) is generated only from `[0, +inf)`, missing coverage of negative values which are valid inputs.
```julia
x = rand( 1000 ) .* 20.0;
...
x = rand( 1000 ) .* 20.0;
...
x = rand( 1000 ) .* 10.0;
```

- For the README.md examples in `stats/base/dists/normal/mgf/README.md` at [line 142](https://github.com/stdlib-js/stdlib/blob/develop/lib/node_modules/%40stdlib/stats/base/dists/normal/mgf/README.md?plain=1#L142) the JS example uses `[0,10)` and at [line 233](https://github.com/stdlib-js/stdlib/blob/develop/lib/node_modules/%40stdlib/stats/base/dists/normal/mgf/README.md?plain=1#L233) the C example uses `[0,1)` for the domain of `t`.

JS example
```js
var t = uniform( 10, 0.0, 10.0, opts );
```
C example
```c
t = random_uniform( 0.0, 1.0 );
```

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Review the generators and examples in stats/base/dists/normal/mgf/benchmark/benchmark.js, benchmark/benchmark.native.js, examples/index.js, examples/c/example.c, test/fixtures/julia/runner.jl, and README.md; compare them with the existing C benchmark. Update the listed inputs so valid negative t values are covered consistently, then run the normal/mgf tests and inspect the examples and benchmarks.

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

Valutazione

Stack tecnologico
c, javascript, julia
Ambito
documentation, testing
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
72/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.