20
20
21
21
// MODULES //
22
22
23
- var Float64Array = require ( '@stdlib/array/float64' ) ;
23
+ var minViewBufferIndex = require ( '@stdlib/strided/base/min-view-buffer-index' ) ;
24
+ var offsetView = require ( '@stdlib/strided/base/offset-view' ) ;
24
25
var addon = require ( './dapxsumors.native.js' ) ;
25
26
26
27
@@ -38,20 +39,16 @@ var addon = require( './dapxsumors.native.js' );
38
39
*
39
40
* @example
40
41
* var Float64Array = require( '@stdlib/array/float64' );
41
- * var floor = require( '@stdlib/math/base/special/floor' );
42
42
*
43
43
* var x = new Float64Array( [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0 ] );
44
- * var N = floor( x.length / 2 );
45
44
*
46
- * var v = dapxsumors( N , 5.0, x, 2, 1 );
45
+ * var v = dapxsumors( 4 , 5.0, x, 2, 1 );
47
46
* // returns 25.0
48
47
*/
49
48
function dapxsumors ( N , alpha , x , stride , offset ) {
50
49
var view ;
51
- if ( stride < 0 ) {
52
- offset += ( N - 1 ) * stride ;
53
- }
54
- view = new Float64Array ( x . buffer , x . byteOffset + ( x . BYTES_PER_ELEMENT * offset ) , x . length - offset ) ; // eslint-disable-line max-len
50
+ offset = minViewBufferIndex ( N , stride , offset ) ;
51
+ view = offsetView ( x , offset ) ;
55
52
return addon ( N , alpha , view , stride ) ;
56
53
}
57
54
0 commit comments