'use strict';

// MODULES //

var setReadOnly = require( '@stdlib/utils/define-read-only-property' );


// STDMATH //

var stdmath = {};
setReadOnly( stdmath, 'base', {} );
setReadOnly( stdmath, 'utils', {} );

// Constants:
setReadOnly( stdmath, 'PI', require( '@stdlib/math/base/constants/float64-pi' ) );
setReadOnly( stdmath, 'TWO_PI', require( '@stdlib/math/base/constants/float64-two-pi' ) );
setReadOnly( stdmath, 'E', require( '@stdlib/math/base/constants/float64-e' ) );
setReadOnly( stdmath, 'EULERGAMMA', require( '@stdlib/math/base/constants/float64-eulergamma' ) );
setReadOnly( stdmath, 'GLAISHER', require( '@stdlib/math/base/constants/float64-glaisher-kinkelin' ) );

setReadOnly( stdmath, 'PINF', require( '@stdlib/math/base/constants/float64-pinf' ) );
setReadOnly( stdmath, 'NINF', require( '@stdlib/math/base/constants/float64-ninf' ) );
setReadOnly( stdmath, 'FLOAT32_PINF', require( '@stdlib/math/base/constants/float32-pinf' ) );
setReadOnly( stdmath, 'FLOAT32_NINF', require( '@stdlib/math/base/constants/float32-ninf' ) );

setReadOnly( stdmath, 'FLOAT16_PRECISION', require( '@stdlib/math/base/constants/float16-precision' ) );
setReadOnly( stdmath, 'FLOAT32_PRECISION', require( '@stdlib/math/base/constants/float32-precision' ) );
setReadOnly( stdmath, 'FLOAT64_PRECISION', require( '@stdlib/math/base/constants/float64-precision' ) );

// Special functions (base):
setReadOnly( stdmath.base, 'round', require( '@stdlib/math/base/special/round' ) );
setReadOnly( stdmath.base, 'floor', require( '@stdlib/math/base/special/floor' ) );
setReadOnly( stdmath.base, 'ceil', require( '@stdlib/math/base/special/ceil' ) );
setReadOnly( stdmath.base, 'ln', require( '@stdlib/math/base/special/ln' ) );
setReadOnly( stdmath.base, 'signum', require( '@stdlib/math/base/special/signum' ) );

// Utilities (base):
setReadOnly( stdmath.base, 'isNaN', require( '@stdlib/math/base/utils/is-nan' ) );
setReadOnly( stdmath.base, 'isInfinite', require( '@stdlib/math/base/utils/is-infinite' ) );
setReadOnly( stdmath.base, 'isNegativeZero', require( '@stdlib/math/base/utils/is-negative-zero' ) );
setReadOnly( stdmath.base, 'isPositiveZero', require( '@stdlib/math/base/utils/is-positive-zero' ) );


// EXPORTS //

module.exports = stdmath;

@@ -1633,24 +1633,104 @@
 /ceil' ) );%0A
+setReadOnly( stdmath.base, 'abs', require( '@stdlib/math/base/special/abs' ) );%0A
 setReadOnly(

Add abs method to stdmath