<commit_before>'use strict';

// MODULES //

var tape = require( 'tape' );
var PINF = require( '@stdlib/math/constants/float64-pinf' );
var NINF = require( '@stdlib/math/constants/float64-ninf' );
var isnan = require( '@stdlib/math/base/utils/is-nan' );
var ceil = require( './../lib' );


// TESTS //

tape( 'main export is a function', function test( t ) {
	t.ok( true, __filename );
	t.equal( typeof ceil, 'function', 'main export is a function' );
	t.end();
});

tape( 'the function returns the largest integer greater than or equal to a given number', function test( t ) {
	t.equal( ceil( -4.2 ), -4.0, 'equals -4' );
	t.equal( ceil( 9.99999 ), 10.0, 'equals 10' );
	t.equal( ceil( 0.0 ), 0.0, 'equals 0' );
	t.end();
});

tape( 'the function returns `NaN` if provided a `NaN`', function test( t ) {
	var val = ceil( NaN );
	t.equal( isnan( val ), true, 'returns NaN' );
	t.end();
});

tape( 'the function returns `+infinity` if provided a `+infinity`', function test( t ) {
	var val = ceil( PINF );
	t.equal( val, PINF, 'returns +infinity' );
	t.end();
});

tape( 'the function returns `-infinity` if provided a `-infinity`', function test( t ) {
	var val = ceil( NINF );
	t.equal( val, NINF, 'returns -infinity' );
	t.end();
});
<commit_msg>Use strict equality tests and add test cases for +-0<commit_after>'use strict';

// MODULES //

var tape = require( 'tape' );
var PINF = require( '@stdlib/math/constants/float64-pinf' );
var NINF = require( '@stdlib/math/constants/float64-ninf' );
var isnan = require( '@stdlib/math/base/utils/is-nan' );
var isNegativeZero = require( '@stdlib/math/base/utils/is-negative-zero' );
var isPositiveZero = require( '@stdlib/math/base/utils/is-positive-zero' );
var ceil = require( './../lib' );


// TESTS //

tape( 'main export is a function', function test( t ) {
	t.ok( true, __filename );
	t.strictEqual( typeof ceil, 'function', 'main export is a function' );
	t.end();
});

tape( 'the function returns the largest integer greater than or equal to a given number', function test( t ) {
	t.strictEqual( ceil( -4.2 ), -4.0, 'equals -4' );
	t.strictEqual( ceil( 9.99999 ), 10.0, 'equals 10' );
	t.strictEqual( ceil( 0.0 ), 0.0, 'equals 0' );
	t.end();
});

tape( 'the function returns `NaN` if provided a `NaN`', function test( t ) {
	var val = ceil( NaN );
	t.strictEqual( isnan( val ), true, 'returns NaN' );
	t.end();
});

tape( 'the function returns `-0` if provided `-0`', function test( t ) {
	var val = ceil( -0.0 );
	t.strictEqual( isNegativeZero( val ), true, 'returns -0' );
	t.end();
});

tape( 'the function returns `+0` if provided `+0`', function test( t ) {
	var val = ceil( +0.0 );
	t.strictEqual( isPositiveZero( val ), true, 'returns +0' );
	t.end();
});

tape( 'the function returns `+infinity` if provided a `+infinity`', function test( t ) {
	var val = ceil( PINF );
	t.strictEqual( val, PINF, 'returns +infinity' );
	t.end();
});

tape( 'the function returns `-infinity` if provided a `-infinity`', function test( t ) {
	var val = ceil( NINF );
	t.strictEqual( val, NINF, 'returns -infinity' );
	t.end();
});

{'fraction_non_alphanumeric': 0.192395190120247, 'fraction_numerical': 0.019824504387390314, 'mean_word_length': 3.684931506849315, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4042240', 'n_tokens_mistral': 1194, 'n_tokens_neox': 1112, 'n_words': 361}