stdlib-js / stdlib-js/stdlib

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

Đang mở
#12,247 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
JavaScript
Star
6k
Fork
1.3k
Merge trung bình
1 ngày 3 giờ
Pull request đã merge (30 ngày)
611

Mô tả

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 );
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
c, javascript, julia
Lĩnh vực
documentation, testing
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
72/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.