20
20
21
21
// MODULES //
22
22
23
+ var resolve = require ( 'path' ) . resolve ;
23
24
var tape = require ( 'tape' ) ;
25
+ var tryRequire = require ( '@stdlib/utils/try-require' ) ;
24
26
var isnan = require ( '@stdlib/math/base/assert/is-nan' ) ;
25
27
var abs = require ( '@stdlib/math/base/special/abs' ) ;
26
28
var NINF = require ( '@stdlib/constants/float64/ninf' ) ;
27
29
var EPS = require ( '@stdlib/constants/float64/eps' ) ;
28
- var quantile = require ( './../lib' ) ;
30
+
31
+
32
+ // VARIABLES //
33
+
34
+ var quantile = tryRequire ( resolve ( __dirname , './../lib/native.js' ) ) ;
35
+ var opts = {
36
+ 'skip' : ( quantile instanceof Error )
37
+ } ;
29
38
30
39
31
40
// FIXTURES //
@@ -36,29 +45,29 @@ var largeP = require( './fixtures/julia/large_p.json' );
36
45
37
46
// TESTS //
38
47
39
- tape ( 'main export is a function' , function test ( t ) {
48
+ tape ( 'main export is a function' , opts , function test ( t ) {
40
49
t . ok ( true , __filename ) ;
41
50
t . strictEqual ( typeof quantile , 'function' , 'main export is a function' ) ;
42
51
t . end ( ) ;
43
52
} ) ;
44
53
45
- tape ( 'if provided `NaN` for any parameter, the function returns `NaN`' , function test ( t ) {
54
+ tape ( 'if provided `NaN` for any parameter, the function returns `NaN`' , opts , function test ( t ) {
46
55
var y = quantile ( NaN , 1.0 ) ;
47
56
t . equal ( isnan ( y ) , true , 'returns NaN' ) ;
48
57
y = quantile ( 0.0 , NaN ) ;
49
58
t . equal ( isnan ( y ) , true , 'returns NaN' ) ;
50
59
t . end ( ) ;
51
60
} ) ;
52
61
53
- tape ( 'if provided a number outside `[0,1]` for `r` and a valid `p`, the function returns `NaN`' , function test ( t ) {
62
+ tape ( 'if provided a number outside `[0,1]` for `r` and a valid `p`, the function returns `NaN`' , opts , function test ( t ) {
54
63
var y = quantile ( 2.2 , 0.8 ) ;
55
64
t . equal ( isnan ( y ) , true , 'returns true' ) ;
56
65
y = quantile ( - 0.2 , 0.8 ) ;
57
66
t . equal ( isnan ( y ) , true , 'returns true' ) ;
58
67
t . end ( ) ;
59
68
} ) ;
60
69
61
- tape ( 'if provided a success probability `p` outside `[0,1]`, the function returns `NaN`' , function test ( t ) {
70
+ tape ( 'if provided a success probability `p` outside `[0,1]`, the function returns `NaN`' , opts , function test ( t ) {
62
71
var y ;
63
72
64
73
y = quantile ( 0.8 , 1.5 ) ;
@@ -73,7 +82,7 @@ tape( 'if provided a success probability `p` outside `[0,1]`, the function retur
73
82
t . end ( ) ;
74
83
} ) ;
75
84
76
- tape ( 'the function evaluates the quantile for `r` given small parameter `p`' , function test ( t ) {
85
+ tape ( 'the function evaluates the quantile for `r` given small parameter `p`' , opts , function test ( t ) {
77
86
var expected ;
78
87
var delta ;
79
88
var tol ;
@@ -98,7 +107,7 @@ tape( 'the function evaluates the quantile for `r` given small parameter `p`', f
98
107
t . end ( ) ;
99
108
} ) ;
100
109
101
- tape ( 'the function evaluates the quantile for `r` given large parameter `p`' , function test ( t ) {
110
+ tape ( 'the function evaluates the quantile for `r` given large parameter `p`' , opts , function test ( t ) {
102
111
var expected ;
103
112
var delta ;
104
113
var tol ;
0 commit comments