@@ -36,36 +36,33 @@ limitations under the License.
3636var dnanmax = require ( ' @stdlib/stats/base/dnanmax' );
3737```
3838
39- #### dnanmax( N, x, stride )
39+ #### dnanmax( N, x, strideX )
4040
4141Computes the maximum value of a double-precision floating-point strided array ` x ` , ignoring ` NaN ` values.
4242
4343``` javascript
4444var Float64Array = require ( ' @stdlib/array/float64' );
4545
4646var x = new Float64Array ( [ 1.0 , - 2.0 , NaN , 2.0 ] );
47- var N = x .length ;
4847
49- var v = dnanmax ( N , x, 1 );
48+ var v = dnanmax ( x . length , x, 1 );
5049// returns 2.0
5150```
5251
5352The function has the following parameters:
5453
5554- ** N** : number of indexed elements.
5655- ** x** : input [ ` Float64Array ` ] [ @stdlib/array/float64 ] .
57- - ** stride ** : index increment for ` x ` .
56+ - ** strideX ** : stride length for ` x ` .
5857
59- The ` N ` and ` stride ` parameters determine which elements in ` x ` are accessed at runtime. For example, to compute the maximum value of every other element in ` x ` ,
58+ The ` N ` and stride parameters determine which elements in the strided array are accessed at runtime. For example, to compute the maximum value of every other element in ` x ` ,
6059
6160``` javascript
6261var Float64Array = require ( ' @stdlib/array/float64' );
63- var floor = require ( ' @stdlib/math/base/special/floor' );
6462
6563var x = new Float64Array ( [ 1.0 , 2.0 , - 7.0 , - 2.0 , 4.0 , 3.0 , NaN , NaN ] );
66- var N = floor ( x .length / 2 );
6764
68- var v = dnanmax ( N , x, 2 );
65+ var v = dnanmax ( 4 , x, 2 );
6966// returns 4.0
7067```
7168
@@ -75,45 +72,39 @@ Note that indexing is relative to the first index. To introduce an offset, use [
7572
7673``` javascript
7774var Float64Array = require ( ' @stdlib/array/float64' );
78- var floor = require ( ' @stdlib/math/base/special/floor' );
7975
8076var x0 = new Float64Array ( [ 2.0 , 1.0 , - 2.0 , - 2.0 , 3.0 , 4.0 , NaN , NaN ] );
8177var x1 = new Float64Array ( x0 .buffer , x0 .BYTES_PER_ELEMENT * 1 ); // start at 2nd element
8278
83- var N = floor ( x0 .length / 2 );
84-
85- var v = dnanmax ( N , x1, 2 );
79+ var v = dnanmax ( 4 , x1, 2 );
8680// returns 4.0
8781```
8882
89- #### dnanmax.ndarray( N, x, stride, offset )
83+ #### dnanmax.ndarray( N, x, strideX, offsetX )
9084
9185Computes the maximum value of a double-precision floating-point strided array, ignoring ` NaN ` values and using alternative indexing semantics.
9286
9387``` javascript
9488var Float64Array = require ( ' @stdlib/array/float64' );
9589
9690var x = new Float64Array ( [ 1.0 , - 2.0 , NaN , 2.0 ] );
97- var N = x .length ;
9891
99- var v = dnanmax .ndarray ( N , x, 1 , 0 );
92+ var v = dnanmax .ndarray ( x . length , x, 1 , 0 );
10093// returns 2.0
10194```
10295
10396The function has the following additional parameters:
10497
105- - ** offset ** : starting index for ` x ` .
98+ - ** offsetX ** : starting index for ` x ` .
10699
107- While [ ` typed array ` ] [ mdn-typed-array ] views mandate a view offset based on the underlying ` buffer ` , the ` offset ` parameter supports indexing semantics based on a starting index. For example, to calculate the maximum value for every other value in ` x ` starting from the second value
100+ While [ ` typed array ` ] [ mdn-typed-array ] views mandate a view offset based on the underlying buffer, the offset parameter supports indexing semantics based on a starting index. For example, to calculate the maximum value for every other element in ` x ` starting from the second element
108101
109102``` javascript
110103var Float64Array = require ( ' @stdlib/array/float64' );
111- var floor = require ( ' @stdlib/math/base/special/floor' );
112104
113105var x = new Float64Array ( [ 2.0 , 1.0 , - 2.0 , - 2.0 , 3.0 , 4.0 , NaN , NaN ] );
114- var N = floor ( x .length / 2 );
115106
116- var v = dnanmax .ndarray ( N , x, 2 , 1 );
107+ var v = dnanmax .ndarray ( 4 , x, 2 , 1 );
117108// returns 4.0
118109```
119110
@@ -164,6 +155,108 @@ console.log( v );
164155
165156<!-- /.examples -->
166157
158+ <!-- C usage documentation. -->
159+
160+ <section class =" usage " >
161+
162+ ### Usage
163+
164+ ``` c
165+ #include " stdlib/stats/base/dnanmax.h"
166+ ```
167+
168+ #### stdlib_strided_dnanmax( N, \* X, strideX )
169+
170+ Calculate the maximum value of a double-precision floating-point strided array, ignoring ` NaN ` values.
171+
172+ ``` c
173+ const double x[] = { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 0.0/0.0, 0.0/0.0 };
174+
175+ double v = stdlib_strided_dnanmax( 5, x, 2 );
176+ // returns 7.0
177+ ```
178+
179+ The function accepts the following arguments:
180+
181+ - **N**: `[in] CBLAS_INT` number of indexed elements.
182+ - **X**: `[in] double*` input array.
183+ - **strideX**: `[in] CBLAS_INT` stride length for `X`.
184+
185+ ```c
186+ double stdlib_strided_dnanmax( const CBLAS_INT N, const double *X, const CBLAS_INT strideX );
187+ ```
188+
189+ #### stdlib_strided_dnanmax_ndarray( N, \* X, strideX, offsetX )
190+
191+ Computes the maximum value of a double-precision floating-point strided array, ignoring ` NaN ` values and using alternative indexing semantics.
192+
193+ ``` c
194+ const double x[] = { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 0.0/0.0, 0.0/0.0 };
195+
196+ double v = stdlib_strided_dnanmax_ndarray( 5, x, 2, 0 );
197+ // returns 7.0
198+ ```
199+
200+ The function accepts the following arguments:
201+
202+ - **N**: `[in] CBLAS_INT` number of indexed elements.
203+ - **X**: `[in] double*` input array.
204+ - **strideX**: `[in] CBLAS_INT` stride length for `X`.
205+ - **offsetX**: `[in] CBLAS_INT` starting index for `X`.
206+
207+ ```c
208+ double stdlib_strided_dnanmax_ndarray( const CBLAS_INT N, const double *X, const CBLAS_INT strideX, const CBLAS_INT offsetX );
209+ ```
210+
211+ </section >
212+
213+ <!-- /.usage -->
214+
215+ <!-- C API usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
216+
217+ <section class =" notes " >
218+
219+ </section >
220+
221+ <!-- /.notes -->
222+
223+ <!-- C API usage examples. -->
224+
225+ <section class =" examples " >
226+
227+ ### Examples
228+
229+ ``` c
230+ #include " stdlib/stats/base/dnanmax.h"
231+ #include < stdint.h>
232+ #include < stdio.h>
233+
234+ int main ( void ) {
235+ // Create a strided array:
236+ const double x[ ] = { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 0.0/0.0, 0.0/0.0 };
237+
238+ // Specify the number of elements:
239+ const int N = 5;
240+
241+ // Specify the stride length:
242+ const int strideX = 2;
243+
244+ // Compute the maximum value:
245+ double v = stdlib_strided_dnanmax( N, x, strideX );
246+
247+ // Print the result:
248+ printf( "max: %lf\n", v );
249+ }
250+ ```
251+
252+ </section>
253+
254+ <!-- /.examples -->
255+
256+ </section>
257+
258+ <!-- /.c -->
259+
167260<!-- Section for related `stdlib` packages. Do not manually edit this section, as it is automatically populated. -->
168261
169262<section class="related">
0 commit comments