Skip to content

Files

Latest commit

Jul 28, 2024
2777e4b · Jul 28, 2024

History

History

singleton-dimensions

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jul 28, 2024
Aug 19, 2023
Apr 18, 2023
Nov 21, 2020
Nov 21, 2020
Nov 21, 2020
Nov 21, 2020
Apr 18, 2023
Nov 21, 2020
Mar 22, 2021

README.md

Singleton Dimensions

Return the number of singleton dimensions.

Usage

var singletonDimensions = require( '@stdlib/ndarray/base/singleton-dimensions' );

singletonDimensions( shape )

Returns the number of singleton dimensions.

var n = singletonDimensions( [ 3, 1, 3 ] );
// returns 1

Notes

  • A singleton dimension is a dimension whose size is equal to 1.

Examples

var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
var singletonDimensions = require( '@stdlib/ndarray/base/singleton-dimensions' );

var shape;
var n;
var i;

shape = [ 0, 0, 0 ];
for ( i = 0; i < 100; i++ ) {
    shape[ 0 ] = discreteUniform( 1, 5 );
    shape[ 1 ] = discreteUniform( 1, 5 );
    shape[ 2 ] = discreteUniform( 1, 5 );
    n = singletonDimensions( shape );
    console.log( 'shape: %s. singleton dimensions: %d.', shape.join( 'x' ), n );
}

C APIs

Usage

#include "stdlib/ndarray/base/singleton_dimensions.h"

stdlib_ndarray_singleton_dimensions( ndims, *shape )

Returns the number of singleton dimensions.

int64_t ndims = 2;
int64_t shape[] = { 10, 1 };

int64_t n = stdlib_ndarray_singleton_dimensions( ndims, shape );
// returns 1

The function accepts the following arguments:

  • ndims: [in] int64_t number of dimensions.
  • shape: [in] int64_t* array shape.
int64_t stdlib_ndarray_singleton_dimensions( int64_t ndims, int64_t *shape );

Examples

#include "stdlib/ndarray/base/singleton_dimensions.h"
#include <stdio.h>
#include <inttypes.h>

int main( void ) {
    int64_t shape[] = { 10, 3, 1, 1, 5 };

    int64_t n = stdlib_ndarray_singleton_dimensions( 5, shape );
    printf( "shape: %"PRId64"x%"PRId64"x%"PRId64"x%"PRId64"x%"PRId64". singleton dimensions: %"PRId64"\n", shape[ 0 ], shape[ 1 ], shape[ 2 ], shape[ 3 ], shape[ 4 ], n );
}