Skip to content

Latest commit

 

History

History
412 lines (270 loc) · 36.6 KB

README.md

File metadata and controls

412 lines (270 loc) · 36.6 KB

Base

Base ndarray.

Usage

var ns = require( '@stdlib/ndarray/base' );

ns

Base ndarray.

var o = ns;
// returns {...}

The namespace contains the following sub-namespaces:

  • assert: base ndarray assertion utilities.

Examples

var Float64Array = require( '@stdlib/array/float64' );
var linspace = require( '@stdlib/array/linspace' );
var ddot = require( '@stdlib/blas/base/ddot' );
var sin = require( '@stdlib/math/base/special/sin' );
var cos = require( '@stdlib/math/base/special/cos' );
var PI = require( '@stdlib/constants/float64/pi' );
var ns = require( '@stdlib/ndarray/base' );

var resultData;
var yStrides;
var xStrides;
var xShape;
var yData;
var xData;
var y;
var x;
var i;

xData = linspace( 0, 2 * PI, 100 );
yData = linspace( 0, PI, 100 );
x = ns.ndarray( 'float64', xData, [ 100 ], [ 1 ], 0, 'row-major' );
y = ns.ndarray( 'float64', yData, [ 100 ], [ 1 ], 0, 'row-major' );

// Apply sin function to each element of x and cos function to each element of y
for ( i = 0; i < x.shape[ 0 ]; i++ ) {
    x.set( i, sin( x.get( i ) ) );
    y.set( i, cos( y.get( i ) ) );
}

resultData = new Float64Array( 1 );

xShape = x.shape[ 0 ];
xStrides = x.strides[ 0 ];
yStrides = y.strides[ 0 ];

// Calculate dot product of x and y
resultData[ 0 ] = ddot( xShape, x.data, xStrides, y.data, yStrides );

// Logs 42.00632598024892
console.log( resultData[ 0 ] );