diff --git a/lib/node_modules/@stdlib/ndarray/iter/README.md b/lib/node_modules/@stdlib/ndarray/iter/README.md index de02d92b0b6c..80f075a3b5ea 100644 --- a/lib/node_modules/@stdlib/ndarray/iter/README.md +++ b/lib/node_modules/@stdlib/ndarray/iter/README.md @@ -2,7 +2,7 @@ @license Apache-2.0 -Copyright (c) 2018 The Stdlib Authors. +Copyright (c) 2024 The Stdlib Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -75,10 +75,51 @@ var o = ns; ```javascript -var objectKeys = require( '@stdlib/utils/keys' ); +var ndarray = require( '@stdlib/ndarray/base/ctor' ); var ns = require( '@stdlib/ndarray/iter' ); - -console.log( objectKeys( ns ) ); +var mean = require( '@stdlib/stats/base/mean' ); +var variance = require( '@stdlib/stats/base/variance' ); +var randu = require( '@stdlib/random/base/randu' ); + +var rowVariance; +var iterRows; +var rowMean; +var rowData; +var data; +var row; +var x; +var j; +var i; + +data = new Array( 25 ); +for ( i = 0; i < data.length; i++ ) { + data[ i ] = parseFloat( ( randu() * 100 ).toFixed( 2 ) ); +} + +console.log( data ); + +// Logs an array of 25 elements generated randomly as above. + +x = ndarray( 'generic', data, [ 5, 5 ], [ 5, 1 ], 0, 'row-major' ); +iterRows = ns.nditerRows( x ); + +while ( true ) { + row = iterRows.next(); + if ( row.done ) { + break; + } + rowData = []; + for ( j = 0; j < row.value.shape[ 0 ]; j++ ) { + rowData.push( row.value.get( j ) ); + } + rowMean = parseFloat( ( mean( rowData.length, rowData, 1 ) ).toFixed( 2 ) ); + rowVariance = parseFloat( variance( rowData.length, 1, rowData, 1 ) + .toFixed( 2 ) ); + + console.log( rowMean, rowVariance ); + + // Logs mean and variance of each row in the 5x5 array. +} ``` diff --git a/lib/node_modules/@stdlib/ndarray/iter/examples/index.js b/lib/node_modules/@stdlib/ndarray/iter/examples/index.js index c876063831b1..1ad48acd7a1a 100644 --- a/lib/node_modules/@stdlib/ndarray/iter/examples/index.js +++ b/lib/node_modules/@stdlib/ndarray/iter/examples/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2023 The Stdlib Authors. +* Copyright (c) 2024 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,48 @@ 'use strict'; -var objectKeys = require( '@stdlib/utils/keys' ); +var ndarray = require( '@stdlib/ndarray/base/ctor' ); +var mean = require( '@stdlib/stats/base/mean' ); +var variance = require( '@stdlib/stats/base/variance' ); +var randu = require( '@stdlib/random/base/randu' ); var ns = require( './../lib' ); -console.log( objectKeys( ns ) ); +var rowVariance; +var iterRows; +var rowMean; +var rowData; +var data; +var row; +var x; +var j; +var i; + +data = new Array( 25 ); +for ( i = 0; i < data.length; i++ ) { + data[ i ] = parseFloat( ( randu() * 100 ).toFixed( 2 ) ); +} + +console.log( data ); + +// Logs an array of 25 elements generated randomly as above. + +x = ndarray( 'generic', data, [ 5, 5 ], [ 5, 1 ], 0, 'row-major' ); +iterRows = ns.nditerRows( x ); + +while ( true ) { + row = iterRows.next(); + if ( row.done ) { + break; + } + rowData = []; + for ( j = 0; j < row.value.shape[ 0 ]; j++ ) { + rowData.push( row.value.get( j ) ); + } + rowMean = parseFloat( ( mean( rowData.length, rowData, 1 ) ).toFixed( 2 ) ); + rowVariance = parseFloat( variance( rowData.length, 1, rowData, 1 ) + .toFixed( 2 ) ); + + console.log( rowMean, rowVariance ); + + // Logs mean and variance of each row in the 5x5 array. +}