isSquareTriangularNumber

Test if a value is a square triangular number.

A square triangular number is an integer value which is both a square number and a triangular number.

Triangular numbers can be computed using the following formula

upper T Subscript n Baseline equals StartFraction n left-parenthesis n plus 1 right-parenthesis Over 2 EndFraction

for n >= 0.

By analogy with the square root of x, one can define the positive triangular root of x such that T_n = x

n equals StartFraction StartRoot 8 x plus 1 EndRoot minus 1 Over 2 EndFraction

Accordingly, an integer x is a triangular number if and only if 8x+1 is a square number.

Usage

var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' );

isSquareTriangularNumber( value )

Tests if a value is a square triangular number.

var Number = require( '@stdlib/number/ctor' );

var bool = isSquareTriangularNumber( 36.0 );
// returns true

bool = isSquareTriangularNumber( new Number( 36.0 ) );
// returns true

bool = isSquareTriangularNumber( 3.14 );
// returns false

bool = isSquareTriangularNumber( -5.0 );
// returns false

bool = isSquareTriangularNumber( NaN );
// returns false

bool = isSquareTriangularNumber( null );
// returns false

isSquareTriangularNumber.isPrimitive( value )

Tests if a value is a primitive square triangular number.

var Number = require( '@stdlib/number/ctor' );

var bool = isSquareTriangularNumber.isPrimitive( 36.0 );
// returns true

bool = isSquareTriangularNumber.isPrimitive( new Number( 36.0 ) );
// returns false

isSquareTriangularNumber.isObject( value )

Tests if a value is a Number object having a value which is a square triangular number.

var Number = require( '@stdlib/number/ctor' );

var bool = isSquareTriangularNumber.isObject( 36.0 );
// returns false

bool = isSquareTriangularNumber.isObject( new Number( 36.0 ) );
// returns true

Notes

  • Return values are not reliable for numbers greater than 1125899906842624.

Examples

var Number = require( '@stdlib/number/ctor' );
var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' );

var bool = isSquareTriangularNumber( 36.0 );
// returns true

bool = isSquareTriangularNumber( new Number( 36.0 ) );
// returns true

bool = isSquareTriangularNumber( 0.0 );
// returns true

bool = isSquareTriangularNumber( 1.0 );
// returns true

bool = isSquareTriangularNumber( 3.14 );
// returns false

bool = isSquareTriangularNumber( -5.0 );
// returns false

bool = isSquareTriangularNumber( NaN );
// returns false

bool = isSquareTriangularNumber( '0.5' );
// returns false

bool = isSquareTriangularNumber( null );
// returns false
Did you find this page helpful?