isTriangularNumber
Test if a value is a triangular number.
Triangular numbers can be computed using the following formula
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
Accordingly, an integer x
is a triangular number if and only if 8x+1
is a square number.
Usage
var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' );
isTriangularNumber( value )
Tests if a value
is a triangular number.
var Number = require( '@stdlib/number/ctor' );
var bool = isTriangularNumber( 36.0 );
// returns true
bool = isTriangularNumber( new Number( 36.0 ) );
// returns true
bool = isTriangularNumber( 3.14 );
// returns false
bool = isTriangularNumber( -5.0 );
// returns false
bool = isTriangularNumber( NaN );
// returns false
bool = isTriangularNumber( null );
// returns false
isTriangularNumber.isPrimitive( value )
Tests if a value
is a primitive triangular number.
var Number = require( '@stdlib/number/ctor' );
var bool = isTriangularNumber.isPrimitive( 36.0 );
// returns true
bool = isTriangularNumber.isPrimitive( new Number( 36.0 ) );
// returns false
isTriangularNumber.isObject( value )
Tests if a value
is a Number
object having a value which is a triangular number.
var Number = require( '@stdlib/number/ctor' );
var bool = isTriangularNumber.isObject( 36.0 );
// returns false
bool = isTriangularNumber.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 isTriangularNumber = require( '@stdlib/assert/is-triangular-number' );
var bool = isTriangularNumber( 36.0 );
// returns true
bool = isTriangularNumber( new Number( 36.0 ) );
// returns true
bool = isTriangularNumber( 0.0 );
// returns true
bool = isTriangularNumber( 1.0 );
// returns true
bool = isTriangularNumber( 3.14 );
// returns false
bool = isTriangularNumber( -5.0 );
// returns false
bool = isTriangularNumber( NaN );
// returns false
bool = isTriangularNumber( '0.5' );
// returns false
bool = isTriangularNumber( null );
// returns false