Skip to content

Latest commit

 

History

History

is-triangular-number

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

isTriangularNumber

Test if a value is a triangular number.

Triangular numbers can be computed using the following formula

$$T_n = \frac{n(n+1)}{2}$$

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 = \frac{\sqrt{8x+1} - 1}{2}$$

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

See Also