diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/README.md new file mode 100755 index 000000000000..7b0db871c044 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/README.md @@ -0,0 +1,168 @@ + + + +# Probability Density Function + +> [Skew normal][skew-normal-distribution] distribution probability density function (PDF). + +
+ +The [probability density function][pdf] (PDF) for a [skew normal][skew-normal-distribution] random variable is + +```math +f(x;\mu,\sigma,\alpha)=\frac{2}{\sigma}\phi \left({\frac {x-\mu }{\sigma }}\right)\Phi \left(\alpha \left({\frac {x-\mu }{\sigma }}\right)\right) +``` + +where, + +> `ϕ` is the standard normal probability distribution function, +> `Φ` is the standard normal cumulative distribution function, +> `μ` is the mean, +> `σ` is the standard deviation, +> `α` is the skewness. + +
+ + + +
+ +## Usage + +```javascript +var pdf = require( '@stdlib/stats/base/dists/skew-normal/pdf' ); +``` + +#### pdf( x, mu, sigma, alpha ) + +Evaluates the [probability density function][pdf] (PDF) for a [skew normal][skew-normal-distribution] distribution with parameters `mu` (mean), `sigma` (standard deviation), and `alpha` (skewness). + +```javascript +var y = pdf( 2.0, 0.0, 1.0, 2.0 ); +// returns ~0.108 + +y = pdf( -1.0, 4.0, 2.0, 0.0 ); +// returns ~0.009 +``` + +If provided `NaN` as any argument, the function returns `NaN`. + +```javascript +var y = pdf( NaN, 0.0, 1.0, 0.0 ); +// returns NaN + +y = pdf( 0.0, NaN, 1.0, 0.0 ); +// returns NaN + +y = pdf( 0.0, 0.0, NaN, 0.0 ); +// returns NaN + +y = pdf( 0.0, 0.0, 0.0, NaN ); +// returns NaN +``` + +If provided `sigma < 0`, the function returns `NaN`. + +```javascript +var y = pdf( 2.0, 0.0, -1.0, 0.0 ); +// returns NaN +``` + +If provided `sigma = 0`, the function evaluates the [PDF][pdf] of a [degenerate distribution][degenerate-distribution] centered at `mu`. + +```javascript +var y = pdf( 2.0, 8.0, 0.0, 0.0 ); +// returns 0.0 + +y = pdf( 8.0, 8.0, 0.0, 0.0 ); +// returns Infinity +``` + +#### pdf.factory( mu, sigma, alpha ) + +Partially apply `mu`, `sigma`, and `alpha` to create a reusable `function` for evaluating the PDF. + +```javascript +var mypdf = pdf.factory( 10.0, 2.0, -1.0 ); + +var y = mypdf( 10.0 ); +// returns ~0.199 + +y = mypdf( 5.0 ); +// returns ~0.017 +``` + +
+ + + +
+ +## Examples + + + +```javascript +var randu = require( '@stdlib/random/base/randu' ); +var pdf = require( '@stdlib/stats/base/dists/skew-normal/pdf' ); + +var alpha; +var sigma; +var mu; +var x; +var y; +var i; + +for ( i = 0; i < 10; i++ ) { + x = randu() * 10.0; + mu = (randu() * 10.0) - 5.0; + sigma = randu() * 20.0; + alpha = (randu() * 40.0) - 20.0; + y = pdf( x, mu, sigma, alpha ); + console.log( 'x: %d, µ: %d, σ: %d, α: %d, f(x;µ,σ,α): %d', x, mu, sigma, alpha, y ); +} +``` + +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/benchmark/benchmark.js new file mode 100755 index 000000000000..2090877c319e --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/benchmark/benchmark.js @@ -0,0 +1,88 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var randu = require( '@stdlib/random/base/randu' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var EPS = require( '@stdlib/constants/float64/eps' ); +var pkg = require( './../package.json' ).name; +var pdf = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var alpha; + var sigma; + var mu; + var x; + var y; + var i; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + x = ( randu()*200.0 ) - 100; + mu = ( randu()*100.0 ) - 50.0; + sigma = ( randu()*20.0 ) + EPS; + alpha = ( randu()*40.0 ) - 20.0; + y = pdf( x, mu, sigma, alpha ); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); + +bench( pkg+':factory', function benchmark( b ) { + var mypdf; + var alpha; + var sigma; + var mu; + var x; + var y; + var i; + + mu = 0.0; + sigma = 1.5; + alpha = 0.5; + mypdf = pdf.factory( mu, sigma, alpha); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + x = ( randu()*6.0 ) - 3.0; + y = mypdf( x ); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/benchmark/r/DESCRIPTION b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/benchmark/r/DESCRIPTION new file mode 100755 index 000000000000..54c45ca4a7b4 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/benchmark/r/DESCRIPTION @@ -0,0 +1,10 @@ +Package: sn-benchmarks +Title: Benchmarks +Version: 0.0.0 +Authors@R: person("stdlib", "js", role = c("aut","cre")) +Description: Benchmarks. +Depends: R (>=3.4.0) +Imports: + microbenchmark + sn +LazyData: true diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/benchmark/r/benchmark.R b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/benchmark/r/benchmark.R new file mode 100755 index 000000000000..c1ac19b999e0 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/benchmark/r/benchmark.R @@ -0,0 +1,114 @@ +#!/usr/bin/env Rscript +# +# @license Apache-2.0 +# +# Copyright (c) 2024 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Set the precision to 16 digits: +options( digits = 16L ); + +#' Run benchmarks. +#' +#' @examples +#' main(); +main <- function() { + # Define benchmark parameters: + name <- 'dist-skew-normal-pdf'; + iterations <- 1000000L; + repeats <- 3L; + + #' Print the TAP version. + #' + #' @examples + #' print_version(); + print_version <- function() { + cat( 'TAP version 13\n' ); + } + + #' Print the TAP summary. + #' + #' @param total Total number of tests. + #' @param passing Total number of passing tests. + #' + #' @examples + #' print_summary( 3, 3 ); + print_summary <- function( total, passing ) { + cat( '#\n' ); + cat( paste0( '1..', total, '\n' ) ); # TAP plan + cat( paste0( '# total ', total, '\n' ) ); + cat( paste0( '# pass ', passing, '\n' ) ); + cat( '#\n' ); + cat( '# ok\n' ); + } + + #' Print benchmark results. + #' + #' @param iterations Number of iterations. + #' @param elapsed Elapsed time in seconds. + #' + #' @examples + #' print_results( 10000L, 0.131009101868 ); + print_results <- function( iterations, elapsed ) { + rate <- iterations / elapsed; + cat( ' ---\n' ); + cat( paste0( ' iterations: ', iterations, '\n' ) ); + cat( paste0( ' elapsed: ', elapsed, '\n' ) ); + cat( paste0( ' rate: ', rate, '\n' ) ); + cat( ' ...\n' ); + } + + #' Run a benchmark. + #' + #' ## Notes + #' + #' * We compute and return a total "elapsed" time, rather than the minimum + #' evaluation time, to match benchmark results in other languages (e.g., + #' Python). + #' + #' + #' @param iterations Number of Iterations. + #' @return Elapsed time in seconds. + #' + #' @examples + #' elapsed <- benchmark( 10000L ); + benchmark <- function( iterations ) { + # Run the benchmarks: + results <- microbenchmark::microbenchmark(sn::dsn( + runif( 1.0, -100.0, 100.0 ), + runif( 1.0, -50.0, 50.0 ), + runif( 1.0, .Machine$double.eps, 20.0 ), # nolint + runif( 1.0, -20.0, 20.0 ) + ), times = iterations ); + + # Sum all the raw timing results to get a total "elapsed" time: + elapsed <- sum( results$time ); # nolint + + # Convert the elapsed time from nanoseconds to seconds: + elapsed <- elapsed / 1.0e9; + + return( elapsed ); + } + + print_version(); + for ( i in 1L:repeats ) { + cat( paste0( '# r::', name, '\n' ) ); + elapsed <- benchmark( iterations ); + print_results( iterations, elapsed ); + cat( paste0( 'ok ', i, ' benchmark finished', '\n' ) ); + } + print_summary( repeats, repeats ); +} + +main(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/docs/repl.txt b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/docs/repl.txt new file mode 100755 index 000000000000..57271cec3317 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/docs/repl.txt @@ -0,0 +1,84 @@ + +{{alias}}( x, μ, σ, α ) + Evaluates the probability density function (PDF) for a skew normal + distribution with mean `μ`, standard deviation `σ`, and skewness `α` + at a value `x`. + + If provided `NaN` as any argument, the function returns `NaN`. + + If provided `σ < 0`, the function returns `NaN`. + + Parameters + ---------- + x: number + Input value. + + μ: number + Location parameter (Mean). + + σ: number + Scale parameter (Standard deviation). + + α: number + Shape parameter (Skewness). + + Returns + ------- + out: number + Evaluated PDF. + + Examples + -------- + > var y = {{alias}}( 2.0, 0.0, 1.0, 2.0 ) + ~0.108 + > y = {{alias}}( -1.0, 4.0, 2.0, 0.0 ) + ~0.009 + > y = {{alias}}( NaN, 0.0, 1.0, 0.0 ) + NaN + > y = {{alias}}( 0.0, NaN, 1.0, 0.0 ) + NaN + > y = {{alias}}( 0.0, 0.0, NaN, 0.0 ) + NaN + > y = {{alias}}( 0.0, 0.0, 1.0, NaN ) + NaN + + // Negative standard deviation: + > y = {{alias}}( 2.0, 0.0, -1.0, 0.0 ) + NaN + + // Degenerate distribution centered at `μ` when `σ = 0.0`: + > y = {{alias}}( 2.0, 8.0, 0.0, 1.0 ) + 0.0 + > y = {{alias}}( 8.0, 8.0, 0.0, 1.0 ) + Infinity + + +{{alias}}.factory( μ, σ, α ) + Returns a function for evaluating the probability density function (PDF) + of a skew normal distribution with mean `μ`, standard deviation `σ`, and + skewness `α`. + + Parameters + ---------- + μ: number + Location parameter (Mean). + + σ: number + Scale parameter (Standard deviation). + + α: number + Shape parameter (Skewness). + + Returns + ------- + pdf: Function + Probability density function (PDF). + + Examples + -------- + > var myPDF = {{alias}}.factory( 10.0, 2.0, -1.0 ); + > var y = myPDF( 10.0 ) + ~0.199 + + See Also + -------- diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/examples/index.js new file mode 100755 index 000000000000..c65ccae040fd --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/examples/index.js @@ -0,0 +1,38 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var randu = require( '@stdlib/random/base/randu' ); +var pdf = require( './../lib' ); + +var alpha; +var sigma; +var mu; +var x; +var y; +var i; + +for ( i = 0; i < 10; i++ ) { + x = randu() * 10.0; + mu = (randu() * 10.0) - 5.0; + sigma = randu() * 20.0; + alpha = (randu() * 20.0) - 10.0; + y = pdf( x, mu, sigma, alpha ); + console.log( 'x: %d, µ: %d, σ: %d, α: %d,f(x;µ,σ,α): %d', x.toFixed( 4 ), mu.toFixed( 4 ), sigma.toFixed( 4 ), alpha.toFixed(4), y.toFixed( 4 ) ); +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/lib/factory.js b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/lib/factory.js new file mode 100755 index 000000000000..dd0fb9d1f058 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/lib/factory.js @@ -0,0 +1,82 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var constantFunction = require( '@stdlib/utils/constant-function' ); +var normalPdf = require( '@stdlib/stats/base/dists/normal/pdf' ); +var normalCdf = require( '@stdlib/stats/base/dists/normal/cdf' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); + + +// MAIN // + +/** +* Returns a function for evaluating the probability density function (PDF) for a skewed normal distribution. +* +* @param {number} mu - mean +* @param {NonNegativeNumber} sigma - standard deviation +* @param {number} alpha - skewness +* @returns {Function} function to evaluate the probability density function +* +* @example +* var pdf = factory( 10.0, 2.0, -1.0 ); +* var y = pdf( 10.0 ); +* // returns ~0.199 +* +* y = pdf( 5.0 ); +* // returns ~0.017 +*/ +function factory( mu, sigma, alpha ) { + var pdfFactory; + var cdfFactory; + pdfFactory = normalPdf.factory( mu, sigma ); + if ( alpha === 0.0 ) { + return pdfFactory; + } + if ( isnan(alpha) ) { + return constantFunction( NaN ); + } + cdfFactory = normalCdf.factory( alpha * mu, sigma ); + return pdf; + + /** + * Evaluates the probability density function (PDF) for a skewed normal distribution. + * + * @private + * @param {number} x - input value + * @returns {number} evaluated probability density function + * + * @example + * var y = pdf( -3.14 ); + * // returns + */ + function pdf( x ) { + if ( isnan( x ) ) { + return NaN; + } + return 2 * pdfFactory( x ) * cdfFactory( alpha * x ); + } +} + + +// EXPORTS // + +module.exports = factory; diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/lib/index.js b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/lib/index.js new file mode 100755 index 000000000000..01261d6ff6cb --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/lib/index.js @@ -0,0 +1,51 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Skewed normal distribution probability density function (PDF). +* +* @module @stdlib/stats/base/dists/skew-normal/pdf +* +* @example +* var pdf = require( '@stdlib/stats/base/dists/skew-normal/pdf' ); +* +* var y = pdf( 2.0, 0.0, 1.0, 2.0 ); +* // returns ~0.108 +* +* var myPDF = pdf.factory( 10.0, 2.0, -1.0 ); +* y = myPDF( 10.0 ); +* // returns ~0.199 +*/ + +// MODULES // + +var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' ); +var main = require( './main.js' ); +var factory = require( './factory.js' ); + + +// MAIN // + +setReadOnly( main, 'factory', factory ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/lib/main.js new file mode 100755 index 000000000000..2ac10538c319 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/lib/main.js @@ -0,0 +1,94 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var normalPdf = require( '@stdlib/stats/base/dists/normal/pdf' ); +var normalCdf = require( '@stdlib/stats/base/dists/normal/cdf' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); + + +// MAIN // + +/** +* Evaluates the probability density function (PDF) for a skewed normal distribution with mean `mu`, standard deviation `sigma`, and skewness `alpha` at a value `x`. +* +* @param {number} x - input value +* @param {number} mu - mean +* @param {NonNegativeNumber} sigma - standard deviation +* @param {number} alpha - skewness +* @returns {number} evaluated probability density function +* +* @example +* var y = pdf( 2.0, 0.0, 1.0, 2.0 ); +* // returns ~0.108 +* +* @example +* var y = pdf( -1.0, 4.0, 2.0, 0.0 ); +* // returns ~0.009 +* +* @example +* var y = pdf( NaN, 0.0, 1.0, 0.0 ); +* // returns NaN +* +* @example +* var y = pdf( 0.0, NaN, 1.0, 0.0 ); +* // returns NaN +* +* @example +* var y = pdf( 0.0, 0.0, NaN, 0.0 ); +* // returns NaN +* +* @example +* var y = pdf( 0.0, 0.0, 1.0, NaN ); +* // returns NaN +* +* @example +* // Negative standard deviation: +* var y = pdf( 2.0, 0.0, -1.0, 0.0 ); +* // returns NaN +* +* @example +* // Degenerate distribution centered at `μ` when `σ = 0.0`: +* var y = pdf( 2.0, 8.0, 0.0, 1.0 ); +* // returns 0.0 +* +* @example +* var y = pdf( 8.0, 8.0, 0.0, 1.0 ); +* // returns Infinity +*/ +function pdf( x, mu, sigma, alpha ) { + var pdf; + var cdf; + pdf = normalPdf( x, mu, sigma ); + if ( alpha === 0.0 ) { + return pdf; + } + if ( isnan(alpha) ) { + return NaN; + } + cdf = normalCdf( alpha * x, alpha * mu, sigma ); + return 2 * pdf * cdf; +} + + +// EXPORTS // + +module.exports = pdf; diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/package.json b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/package.json new file mode 100755 index 000000000000..4e36aa23c827 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/package.json @@ -0,0 +1,62 @@ +{ + "name": "@stdlib/stats/base/dists/skew-normal/pdf", + "version": "0.0.0", + "description": "Skew normal distribution probability density function (PDF).", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "lib": "./lib" + }, + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdmath", + "statistics", + "stats", + "distribution", + "dist", + "continuous", + "probability", + "pdf", + "gaussian", + "normal", + "skew", + "bell-shape", + "univariate" + ] +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/fixtures/r/DESCRIPTION b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/fixtures/r/DESCRIPTION new file mode 100755 index 000000000000..747de03e3668 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/fixtures/r/DESCRIPTION @@ -0,0 +1,10 @@ +Package: skew-normal-pdf-test-fixtures +Title: Test Fixtures +Version: 0.0.0 +Authors@R: person("stdlib", "js", role = c("aut","cre")) +Description: Generates test fixtures. +Depends: R (>=3.4.0) +Imports: + jsonlite + sn +LazyData: true diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/fixtures/r/data.json b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/fixtures/r/data.json new file mode 100755 index 000000000000..3c137b937f46 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/fixtures/r/data.json @@ -0,0 +1 @@ +{"mu":[-6.6966966966966961,-2.6126126126126126,5.015015015015015,-5.3753753753753752,4.5345345345345347,4.6346346346346348,1.1111111111111107,-6.3963963963963959,0.75075075075075048,-8.7387387387387392,-8.378378378378379,1.3113113113113108,7.1771771771771782,1.3513513513513509,0.7707707707707705,3.6736736736736741,-4.4144144144144146,-1.1111111111111107,-9.6196196196196198,-2.5325325325325325,-0.51051051051051033,-3.4534534534534531,-5.4554554554554553,-9.3993993993993996,-0.9309309309309306,8.6786786786786791,-3.0130130130130128,-2.4124124124124124,8.0380380380380387,2.8528528528528536,8.7787787787787792,7.3373373373373383,-5.4354354354354353,7.9379379379379387,-1.2512512512512508,-5.3153153153153152,2.3123123123123115,-7.9579579579579578,1.4514514514514509,-7.6176176176176176,-4.5345345345345347,-4.3943943943943946,-8.0180180180180187,-7.9779779779779778,7.9979979979979987,6.5965965965965978,-3.8738738738738743,-3.8538538538538543,2.1321321321321314,-7.7177177177177176,4.4944944944944947,1.9319319319319312,9.7797797797797799,-3.333333333333333,8.5985985985985991,9.6596596596596598,0.67067067067067043,0.85085085085085055,-5.6956956956956954,3.2332332332332339,-2.7927927927927927,-9.7597597597597598,-8.9589589589589593,5.035035035035035,6.6966966966966979,7.2172172172172182,2.4524524524524516,-0.41041041041041026,0.63063063063063041,8.8188188188188192,-5.2352352352352352,-1.591591591591591,-4.2942942942942945,0.13013013013013008,7.8578578578578586,-5.7757757757757755,-3.6736736736736741,-3.1731731731731729,-1.8518518518518512,5.8158158158158155,7.5975975975975985,9.97997997997998,-8.1981981981981988,4.1941941941941945,4.9149149149149149,3.493493493493494,-8.0980980980980988,4.0340340340340344,4.6546546546546548,-5.055055055055055,-5.1751751751751751,2.8128128128128118,9.0790790790790794,-7.7977977977977977,4.934934934934935,-6.3363363363363359,-7.4374374374374375,4.0540540540540544,-4.1741741741741745,8.2982982982982989,2.8928928928928936,9.4194194194194196,0.55055055055055035,2.9729729729729737,0.11011011011011007,0.33033033033033021,-8.9789789789789793,3.2732732732732739,-8.0580580580580587,6.876876876876878,-8.458458458458459,3.3133133133133139,8.7387387387387392,6.3363363363363376,9.8398398398398399,-9.1191191191191194,-5.2552552552552552,4.2742742742742745,6.1961961961961975,-9.8198198198198199,-1.1511511511511507,-6.0560560560560557,3.1731731731731738,-2.8128128128128127,-7.1171171171171173,5.5155155155155153,6.6166166166166178,0.53053053053053034,-9.97997997997998,1.0110110110110107,4.5545545545545547,8.6986986986986992,-6.556556556556556,-2.5525525525525525,0.69069069069069045,0.39039039039039025,-1.1911911911911908,-6.536536536536536,5.1551551551551551,4.3743743743743746,-0.67067067067067043,1.9119119119119112,-3.4734734734734731,6.856856856856858,0.21021021021021014,1.8918918918918912,-2.2522522522522523,-5.1951951951951951,-3.4334334334334331,-0.17017017017017011,2.6326326326326317,6.4564564564564577,-3.7337337337337342,-4.3743743743743746,8.6186186186186191,-7.7577577577577577,-5.8358358358358355,-4.7547547547547548,6.916916916916918,-5.6356356356356354,-1.6516516516516511,-3.5535535535535532,8.2382382382382389,0.4704704704704703,-3.3533533533533531,-5.5155155155155153,9.7197197197197198,4.8148148148148149,7.7777777777777786,8.9989989989989994,-0.59059059059059038,-9.1591591591591595,2.8328328328328336,-0.55055055055055035,-1.611611611611611,6.6566566566566578,-0.95095095095095061,-8.9189189189189193,8.2782782782782789,9.3393393393393396,9.1191191191191194,9.2992992992992995,0.1501501501501501,-9.95995995995996,6.2162162162162176,5.3153153153153152,-0.45045045045045029,-1.2112112112112108,2.1721721721721714,0.010010010010010006,-9.4394394394394396,7.0170170170170181,3.0930930930930938,-2.5125125125125125,-6.1361361361361357,1.591591591591591,-6.2962962962962958,-6.3163163163163158,-3.253253253253253,4.3943943943943946,-8.6386386386386391,5.3953953953953953,6.1161161161161175,4.4344344344344346,-2.6526526526526526,3.0330330330330337,5.6556556556556554,0.25025025025025016,-6.8768768768768771,1.8318318318318312,-1.531531531531531,9.7997997997997999,-9.4594594594594597,3.0730730730730738,5.5555555555555554,5.9759759759759756,1.3713713713713709,-2.7527527527527527,-3.213213213213213,4.7347347347347348,5.7157157157157155,7.0970970970970981,-9.7197197197197198,-6.1761761761761758,8.2182182182182189,-3.1331331331331329,7.4174174174174183,8.8788788788788793,5.1951951951951951,3.1531531531531538,-4.6946946946946948,-9.7997997997997999,-0.4704704704704703,7.4574574574574584,-6.516516516516516,9.9199199199199199,8.6586586586586591,8.3583583583583589,-2.0520520520520522,-0.53053053053053034,-3.3733733733733731,7.6576576576576585,9.0590590590590594,9.3993993993993996,5.1751751751751751,4.4744744744744747,0.49049049049049032,-3.0530530530530529,4.994994994994995,2.1921921921921914,-7.5775775775775776,-0.39039039039039025,-0.63063063063063041,-0.43043043043043028,-8.8788788788788793,-8.1181181181181188,-2.3323323323323324,-2.9529529529529528,-9.8798798798798799,0.79079079079079051,-9.7397397397397398,-3.8938938938938943,-0.87087087087087056,-0.99099099099099064,-5.6556556556556554,1.7317317317317311,-7.6776776776776776,2.2722722722722715,-2.4524524524524525,-4.6546546546546548,-4.8548548548548549,6.3163163163163176,-6.6766766766766761,8.0780780780780788,-2.4324324324324325,-8.8988988988988993,6.6366366366366378,-7.4174174174174174,1.9919919919919913,6.3763763763763777,-2.0920920920920922,3.373373373373374,-3.7937937937937942,9.5195195195195197,4.3143143143143146,2.2122122122122114,-5.5755755755755754,7.2972972972972983,-1.491491491491491,4.7547547547547548,-2.5925925925925926,5.2752752752752752,-7.3973973973973974,5.0950950950950951,6.5365365365365378,0.95095095095095061,5.075075075075075,-2.4924924924924925,7.1971971971971982,5.3753753753753752,-7.4774774774774775,1.1311311311311307,5.2552552552552552,6.2762762762762776,0.89089089089089057,6.4364364364364377,-6.9569569569569571,8.2582582582582589,-2.6926926926926926,-0.89089089089089057,-0.7707707707707705,7.4774774774774784,8.7187187187187192,-7.2572572572572573,-2.7127127127127126,-7.2772772772772774,-4.8348348348348349,-8.1381381381381388,-3.9939939939939944,-2.2322322322322323,-8.0780780780780788,-3.5135135135135132,3.453453453453454,-0.83083083083083054,5.9559559559559556,-3.3933933933933931,-2.1121121121121122,-4.6746746746746748,-6.8168168168168171,-6.576576576576576,-9.6796796796796798,-6.4364364364364359,-3.0330330330330328,3.2132132132132138,-8.8588588588588593,9.8798798798798799,5.4754754754754753,3.7737737737737742,-1.511511511511511,0.050050050050050032,-0.070070070070070045,7.2372372372372382,6.4164164164164177,7.7377377377377385,-5.8758758758758756,-1.4314314314314309,-5.1351351351351351,0.45045045045045029,1.0510510510510507,-0.35035035035035023,8.498498498498499,-4.954954954954955,-4.6346346346346348,7.6176176176176185,-5.6756756756756754,-7.3173173173173174,2.3923923923923915,3.8938938938938943,-1.6716716716716711,5.7957957957957955,1.0910910910910907,4.0140140140140144,-6.8368368368368371,-7.5575575575575575,-8.5785785785785791,-5.4154154154154153,-6.9969969969969972,-7.4574574574574575,-3.7537537537537542,5.9359359359359356,8.9389389389389393,-1.9119119119119112,2.4924924924924916,4.2142142142142145,-6.6566566566566561,-6.7767767767767761,-9.5395395395395397,-8.9389389389389393,3.8738738738738743,-8.5985985985985991,-9.9199199199199199,7.0370370370370381,4.7947947947947949,1.571571571571571,3.473473473473474,8.1181181181181188,-9.0590590590590594,-8.6786786786786791,6.836836836836838,-1.3913913913913909,8.8388388388388393,-0.57057057057057037,0.19019019019019012,-3.9339339339339343,-0.97097097097097063,2.9929929929929937,-6.0960960960960957,7.2572572572572582,2.7727727727727718,-6.9769769769769772,3.5735735735735741,-1.7517517517517511,2.5525525525525516,-7.1571571571571573,-9.3393393393393396,1.6316316316316311,-6.9169169169169171,4.8548548548548549,-0.85085085085085055,-2.2122122122122123,-3.6536536536536541,5.5755755755755754,-4.3343343343343346,-4.5145145145145147,-7.5975975975975976,-1.7717717717717711,9.6996996996996998,-3.4934934934934931,7.0770770770770781,4.7747747747747749,-4.2142142142142145,1.6516516516516511,-8.6986986986986992,-9.2592592592592595,3.2532532532532539,-9.5595595595595597,-4.6146146146146148,-0.3103103103103102,8.5385385385385391,-6.0160160160160157,2.9529529529529537,-1.2912912912912908,-4.4744744744744747,-8.7987987987987992,1.9719719719719713,-1.551551551551551,6.5765765765765778,-9.93993993993994,-4.4344344344344346,6.0960960960960975,6.7967967967967979,8.1381381381381388,-9.2392392392392395,4.2942942942942945,0.41041041041041026,9.7597597597597598,1.3313313313313309,-4.9149149149149149,0.29029029029029019,0.73073073073073047,-7.4974974974974975,-5.3553553553553552,-2.9929929929929928,2.7327327327327318,0.57057057057057037,1.4114114114114109,-1.3513513513513509,-4.1341341341341344,1.7117117117117111,-8.9989989989989994,-7.1371371371371373,7.3573573573573583,2.8728728728728736,-5.7957957957957955,3.513513513513514,-4.1141141141141144,6.9769769769769781,3.5335335335335341,-5.3353353353353352,6.8168168168168179,5.3353353353353352,9.1591591591591595,-8.2382382382382389,-9.2992992992992995,2.3323323323323315,-9.5995995995995997,-1.571571571571571,5.6156156156156154,8.3383383383383389,5.6756756756756754,-7.8178178178178177,6.1561561561561575,-5.035035035035035,2.1121121121121114,-3.6936936936936942,-7.1771771771771773,7.3173173173173183,-0.1501501501501501,6.7767767767767779,-5.9359359359359356,-8.0380380380380387,3.7337337337337342,7.0570570570570581,-6.7167167167167161,2.7927927927927918,5.1151151151151151,9.1391391391391394,-4.2342342342342345,-9.2792792792792795,-5.1551551551551551,-1.8718718718718712,-6.1561561561561557,8.7987987987987992,-4.7747747747747749,3.1931931931931938,7.4374374374374383,4.1541541541541545,3.8338338338338342,-1.8318318318318312,8.418418418418419,5.5955955955955954,-4.2542542542542545,-1.9719719719719713,0.37037037037037024,1.7517517517517511,1.2912912912912908,3.6136136136136141,-5.7557557557557555,-4.0340340340340344,7.5175175175175184,8.0580580580580587,8.1781781781781788,-1.0110110110110107,-2.1721721721721723,4.8348348348348349,8.1581581581581588,3.0130130130130137,-4.0140140140140144,-7.6576576576576576,9.4394394394394396,-4.4544544544544546,-5.8558558558558556,7.1171171171171181,-7.3573573573573574,-4.7147147147147148,5.4354354354354353,3.6936936936936942,3.9939939939939944,3.0530530530530537,7.4974974974974984,0.99099099099099064,2.1521521521521514,-9.6396396396396398,-2.9329329329329328,-3.7737737737737742,3.9739739739739743,-9.0790790790790794,-6.8568568568568571,2.9129129129129137,4.8748748748748749,1.8518518518518512,-1.7317317317317311,-5.6156156156156154,-6.1961961961961958,-3.9139139139139143,-3.7137137137137142,-5.4954954954954953,9.2192192192192195,2.9329329329329337,7.2772772772772782,-3.233233233233233,3.393393393393394,5.1351351351351351,-8.7587587587587592,4.2542542542542545,-7.3373373373373374,2.0920920920920913,-8.3183183183183189,1.531531531531531,-0.25025025025025016,-5.5355355355355353,8.7587587587587592,-3.9739739739739743,-0.91091091091091059,0.81081081081081052,-2.7727727727727727,6.0560560560560575,-1.8918918918918912,-2.0720720720720722,9.1791791791791795,-7.2172172172172173,-8.2982982982982989,-6.8968968968968971,-0.010010010010010006,-1.1711711711711708,5.9159159159159156,9.5595595595595597,9.0390390390390394,-3.5335335335335332,2.5325325325325316,2.6126126126126117,-4.0540540540540544,-7.6976976976976976,-2.6326326326326326,-8.8188188188188192,-7.8978978978978978,5.4954954954954953,2.0520520520520513,-8.8388388388388393,-3.8338338338338342,-0.61061061061061039,4.0940940940940944,0.3103103103103102,1.7717717717717711,3.9139139139139143,9.8998998998998999,-1.2712712712712708,4.2342342342342345,-2.2722722722722724,6.956956956956958,-0.65065065065065042,-5.7357357357357355,6.7167167167167179,-7.9179179179179178,1.491491491491491,-9.3193193193193196,-2.4724724724724725,5.5355355355355353,4.1341341341341344,-2.1521521521521523,-7.1971971971971973,-8.418418418418419,9.2792792792792795,1.9519519519519513,-5.075075075075075,-0.050050050050050032,1.4314314314314309,3.2932932932932939,0.070070070070070045,-1.1311311311311307,-0.11011011011011007,-3.6136136136136141,-1.0910910910910907,2.6526526526526517,-2.5725725725725725,5.8558558558558556,4.4144144144144146,-2.3523523523523524,-1.0710710710710707,-4.5745745745745747,-1.9519519519519513,-6.2762762762762758,7.5575575575575584,4.6946946946946948,9.6196196196196198,1.2112112112112108,-0.81081081081081052,5.9959959959959956,3.7537537537537542,4.3543543543543546,-8.6586586586586591,-6.596596596596596,-1.3713713713713709,-1.3313313313313309,-5.9759759759759756,-4.974974974974975,-9.5195195195195197,-8.7187187187187192,-9.5795795795795797,-7.9979979979979978,-3.313313313313313,7.6376376376376385,-0.37037037037037024,-2.1921921921921923,1.2512512512512508,-6.2362362362362358,-9.3793793793793796,-9.4194194194194196,-0.030030030030030019,7.8778778778778786,7.8178178178178186,-3.0730730730730729,-3.9539539539539543,-7.0370370370370372,-4.0740740740740744,9.93993993993994,0.090090090090090058,0.83083083083083054,-5.5955955955955954,-6.2562562562562558,-8.1781781781781788,-7.8578578578578577,9.4594594594594597,-10,6.4764764764764777,5.7557557557557555,4.8948948948948949,7.6776776776776785,-2.8528528528528527,9.95995995995996,-9.8598598598598599,-2.7327327327327327,2.3523523523523515,5.2952952952952952,-6.616616616616616,-6.1161161161161157,2.5125125125125116,-7.0570570570570572,2.0320320320320313,6.2562562562562576,3.6336336336336341,-6.0360360360360357,-4.3543543543543546,8.0180180180180187,7.3973973973973983,-3.293293293293293,-8.7787787787787792,6.0160160160160174,6.3563563563563577,-4.0940940940940944,-9.4794794794794797,3.3333333333333339,2.7527527527527518,7.3773773773773783,0.71071071071071046,9.2392392392392395,-5.3953953953953953,-0.23023023023023015,1.6916916916916911,9.2592592592592595,-5.0950950950950951,-9.0990990990990994,0.27027027027027017,-8.398398398398399,7.8978978978978986,2.0720720720720713,5.8758758758758756,-8.478478478478479,5.7357357357357355,-9.6596596596596598,9.3193193193193196,2.2322322322322314,0.23023023023023015,-8.3583583583583589,-3.0930930930930929,4.0740740740740744,6.896896896896898,0.87087087087087056,9.5795795795795797,1.611611611611611,7.7177177177177185,-1.0310310310310307,7.8378378378378386,-0.19019019019019012,-3.4134134134134131,2.6926926926926917,4.954954954954955,-5.9559559559559556,-1.4714714714714709,-1.0510510510510507,5.6956956956956954,5.8958958958958956,-1.4514514514514509,0.59059059059059038,-2.8728728728728727,-7.5375375375375375,-4.5545545545545547,9.5995995995995997,-2.1321321321321323,0.51051051051051033,-8.438438438438439,8.9189189189189193,4.3343343343343346,3.6536536536536541,-9.0390390390390394,-6.4564564564564559,0.9309309309309306,-0.75075075075075048,-8.5585585585585591,-9.4994994994994997,-9.7797797797797799,9.7397397397397398,-9.1791791791791795,1.7917917917917912,-3.273273273273273,-1.9919919919919913,-7.8378378378378377,9.3793793793793796,-6.2162162162162158,2.7127127127127117,6.7567567567567579,8.1981981981981988,-9.0190190190190194,-1.9319319319319312,6.0360360360360374,-9.6996996996996998,-8.518518518518519,4.1141141141141144,4.6146146146146148,1.3913913913913909,-2.0320320320320322,5.2352352352352352,-6.7367367367367361,-5.8158158158158155,1.4714714714714709,-7.2372372372372373,0.35035035035035023,8.9789789789789793,-0.27027027027027017,-0.71071071071071046,5.8358358358358355,3.8138138138138142,-5.1151151151151151,3.3533533533533539,-2.3723723723723724,-4.7347347347347348,-0.090090090090090058,-3.1931931931931929,4.974974974974975,8.5785785785785791,1.511511511511511,1.0710710710710707,8.6386386386386391,6.5165165165165178,7.1371371371371382,-9.3593593593593596,-6.7567567567567561,8.378378378378379,-6.4164164164164159,-5.5555555555555554,-8.2582582582582589,9.0190190190190194,-6.3563563563563559,-2.3123123123123124,-0.49049049049049032,7.9779779779779787,-0.73073073073073047,-1.2312312312312308,0.97097097097097063,9.6796796796796798,-5.7157157157157155,-3.6336336336336341,-5.4754754754754753,-8.1581581581581588,-0.33033033033033021,9.0990990990990994,-4.8748748748748749,2.4724724724724716,0.65065065065065042,4.4544544544544546,8.9589589589589593,-8.5385385385385391,3.413413413413414,-6.6366366366366361,-7.5175175175175175,-4.8148148148148149,-6.9369369369369371,-5.9959959959959956,-5.2752752752752752,5.055055055055055,-6.476476476476476,-4.1541541541541545,5.2152152152152151,1.8718718718718712,1.2312312312312308,-8.498498498498499,-1.6916916916916911,-9.8398398398398399,0.17017017017017011,3.9539539539539543,-1.7117117117117111,3.7137137137137142,0.43043043043043028,6.0760760760760775,9.8198198198198199,6.1761761761761775,9.3593593593593596,3.7937937937937942,-8.6186186186186191,9.8598598598598599,2.4124124124124116,6.2962962962962976,-7.8778778778778777,-9.1991991991991995,-7.7377377377377377,-3.5935935935935941,-3.1531531531531529,-4.3143143143143146,-1.4114114114114109,1.1711711711711708,0.030030030030030019,2.3723723723723715,-7.0970970970970972,-5.8958958958958956,6.2362362362362376,-1.3113113113113108,-6.3763763763763759,-4.934934934934935,1.8118118118118112,-2.6726726726726726,10,4.5145145145145147,-1.7917917917917912,9.5395395395395397,-8.2182182182182189,-6.0760760760760757,7.5375375375375384,-2.8928928928928928,8.3183183183183189,4.6746746746746748,2.6726726726726717,-4.7947947947947949,-8.2782782782782789,7.1571571571571582,8.458458458458459,-7.6376376376376376,2.0120120120120113,2.5725725725725717,7.6976976976976985,-7.0170170170170172,-4.4944944944944947,-6.496496496496496,-7.3773773773773774,-9.2192192192192195,8.8988988988988993,5.6356356356356354,8.518518518518519,4.7147147147147148,-2.2922922922922924,2.2922922922922915,-0.13013013013013008,-0.21021021021021014,9.4794794794794797,7.9179179179179187,1.1911911911911908,2.2522522522522515,6.7367367367367379,3.1131131131131138,5.3553553553553552,8.5585585585585591,8.398398398398399,1.6716716716716711,-3.8138138138138142,7.7577577577577586,0.61061061061061039,-7.2972972972972974,4.1741741741741745,3.8538538538538543,-5.015015015015015,7.5775775775775784,3.5935935935935941,-1.8118118118118112,-0.79079079079079051,5.4154154154154153,-2.3923923923923924,-7.0770770770770772,-4.994994994994995,9.4994994994994997,-4.2742742742742745,8.8588588588588593,-7.7777777777777777,-9.8998998998998999,-0.69069069069069045,-2.9729729729729728,-7.9379379379379378,6.5565565565565578,8.438438438438439,-2.0120120120120122,6.6766766766766779,-3.1131131131131129,0.91091091091091059,6.1361361361361375,5.7757757757757755,5.4554554554554553,7.7977977977977986,1.2712712712712708,6.9969969969969981,-6.796796796796797,-4.8948948948948949,1.0310310310310307,-1.6316316316316311,2.5925925925925917,-5.9159159159159156,-2.8328328328328327,3.1331331331331338,-9.1391391391391394,1.551551551551551,6.936936936936938,-4.5945945945945947,-5.2152152152152151,-4.1941941941941945,3.433433433433434,-3.5735735735735732,-8.3383383383383389,6.4964964964964977,1.1511511511511507,8.0980980980980988,3.9339339339339343,-5.2952952952952952,-0.29029029029029019,4.5745745745745747,4.5945945945945947,7.9579579579579587,6.3963963963963977,9.1991991991991995,8.478478478478479,3.5535535535535541,9.6396396396396398,2.4324324324324316,-2.9129129129129128],"sigma":[35.700000000000003,68.099999999999994,81.400000000000006,75.599999999999994,80.200000000000003,33.100000000000001,29.000000000000004,47.900000000000006,61.100000000000001,66.599999999999994,40.800000000000004,40.100000000000001,72.700000000000003,99.400000000000006,25.500000000000004,26.200000000000003,68.5,81.200000000000003,73,39.600000000000001,40.200000000000003,18.000000000000004,53.500000000000007,56.400000000000006,81.900000000000006,41.400000000000006,49.700000000000003,20.300000000000004,24.400000000000002,79.099999999999994,44.100000000000001,84.099999999999994,6,56.300000000000004,27.200000000000003,14.800000000000001,74.599999999999994,97,96.200000000000003,24.800000000000004,64.799999999999997,61.400000000000006,97.599999999999994,49.800000000000004,99.099999999999994,66.299999999999997,87.700000000000003,84.599999999999994,42.800000000000004,47.400000000000006,52.900000000000006,48.100000000000001,29.200000000000003,57.900000000000006,43.900000000000006,68.899999999999991,45.300000000000004,90.099999999999994,48.600000000000001,47.300000000000004,70.799999999999997,80.400000000000006,41.500000000000007,36.5,49.300000000000004,26.700000000000003,97.299999999999997,60.100000000000001,83.200000000000003,49.200000000000003,5.5,79.599999999999994,83.599999999999994,46.000000000000007,51.800000000000004,88.900000000000006,96.700000000000003,91.299999999999997,76.900000000000006,41.900000000000006,12.800000000000001,37.900000000000006,57.400000000000006,71.599999999999994,30.700000000000003,57.600000000000001,81.299999999999997,30.100000000000001,95.5,38.600000000000001,45.200000000000003,79,48.200000000000003,54.400000000000006,64.5,25.900000000000002,6.5,49.500000000000007,96,24.500000000000004,92.200000000000003,53.900000000000006,33.200000000000003,85.799999999999997,93.200000000000003,18.800000000000001,67.899999999999991,18.100000000000001,98.799999999999997,81,35.200000000000003,28.600000000000001,4,72.5,0.5,35.900000000000006,37,86.599999999999994,30.800000000000004,11.800000000000001,63.100000000000001,36.200000000000003,1.9000000000000001,45.000000000000007,28.100000000000001,7.2000000000000002,42.100000000000001,55.600000000000001,87.400000000000006,57.200000000000003,42.700000000000003,62.200000000000003,16.300000000000001,47.800000000000004,65.399999999999991,37.300000000000004,41.300000000000004,12.6,68.200000000000003,18.700000000000003,72,80.700000000000003,40.900000000000006,53.800000000000004,7.9000000000000004,22.500000000000004,35,10.800000000000001,80,75.700000000000003,43.400000000000006,46.300000000000004,10.1,75.899999999999991,65.700000000000003,11.200000000000001,81.5,42.200000000000003,43.700000000000003,93.799999999999997,13,15.6,41.600000000000001,34.200000000000003,91.5,86.900000000000006,15.700000000000001,93.299999999999997,54.100000000000001,67.799999999999997,6.4000000000000004,51.500000000000007,71.200000000000003,26.900000000000002,17.000000000000004,20.600000000000001,64.899999999999991,27.900000000000002,77.799999999999997,100,4.5999999999999996,1.6000000000000001,40.600000000000001,41.100000000000001,71.799999999999997,60.500000000000007,18.500000000000004,47.100000000000001,36.600000000000001,2.4000000000000004,31.000000000000004,51.900000000000006,33.300000000000004,10.300000000000001,83.700000000000003,90.299999999999997,73.599999999999994,92.400000000000006,65.599999999999994,94.599999999999994,2.7000000000000002,0.30000000000000004,25.700000000000003,55.300000000000004,70,12.1,38.800000000000004,43.800000000000004,11.5,18.400000000000002,30.900000000000002,51.700000000000003,92.099999999999994,9.4000000000000004,14.200000000000001,6.5999999999999996,3.8000000000000003,19.200000000000003,9.0999999999999996,24.000000000000004,62.600000000000001,57.100000000000001,11.6,40.300000000000004,29.600000000000001,53.300000000000004,13.5,22.400000000000002,60.900000000000006,83.5,23.700000000000003,89.900000000000006,73.5,36,89.599999999999994,2,0.90000000000000002,28.300000000000004,65.099999999999994,63.800000000000004,61.000000000000007,73.399999999999991,25.400000000000002,78.099999999999994,62.100000000000001,59.700000000000003,1.2000000000000002,35.400000000000006,21.500000000000004,15,78.200000000000003,61.900000000000006,58.100000000000001,59.900000000000006,69.200000000000003,2.2000000000000002,47.700000000000003,34.5,73.700000000000003,44.000000000000007,10.6,79.700000000000003,39.700000000000003,1,50.100000000000001,57.700000000000003,9.7000000000000011,87.5,85.299999999999997,31.200000000000003,95.299999999999997,34.800000000000004,23.900000000000002,8.5,25.600000000000001,94.900000000000006,19.500000000000004,17.100000000000001,56.200000000000003,20.800000000000004,75,93.599999999999994,54.000000000000007,73.299999999999997,74,70.299999999999997,1.4000000000000001,9.5999999999999996,1.8000000000000003,72.399999999999991,92.700000000000003,11.300000000000001,20.000000000000004,54.500000000000007,5.2999999999999998,89,54.300000000000004,99.700000000000003,8.9000000000000004,3.9000000000000004,21.000000000000004,75.099999999999994,45.500000000000007,59.400000000000006,95.400000000000006,65,4.7999999999999998,96.5,25.200000000000003,94.099999999999994,95.099999999999994,43.600000000000001,38.100000000000001,55.100000000000001,85,97.400000000000006,21.100000000000001,2.5000000000000004,17.600000000000001,50.900000000000006,62.300000000000004,29.100000000000001,88.299999999999997,60.600000000000001,82.5,72.099999999999994,21.300000000000004,15.200000000000001,12.300000000000001,62.900000000000006,60.800000000000004,46.900000000000006,66.899999999999991,44.300000000000004,8.5999999999999996,39.000000000000007,39.900000000000006,32.100000000000001,42.900000000000006,30.200000000000003,99,10.5,89.400000000000006,55.500000000000007,33.900000000000006,65.899999999999991,42.600000000000001,16.500000000000004,71.5,88,88.700000000000003,64.099999999999994,24.900000000000002,82.099999999999994,95,8.3000000000000007,63.500000000000007,44.600000000000001,26.800000000000004,86,84.799999999999997,12.5,96.099999999999994,27.500000000000004,87.200000000000003,37.100000000000001,47.600000000000001,23.100000000000001,77.599999999999994,89.099999999999994,81.599999999999994,89.5,35.100000000000001,13.800000000000001,51.100000000000001,14.4,51.400000000000006,45.100000000000001,49.100000000000001,78,61.500000000000007,57.300000000000004,28.800000000000004,82.599999999999994,45.600000000000001,4.3999999999999995,85.900000000000006,13.4,57.000000000000007,42.300000000000004,21.900000000000002,64.399999999999991,22.800000000000004,19.400000000000002,55.400000000000006,2.9000000000000004,74.299999999999997,44.800000000000004,39.100000000000001,25.100000000000001,43.300000000000004,37.700000000000003,0.20000000000000001,97.799999999999997,7.7999999999999998,31.600000000000001,7.4000000000000004,98.099999999999994,5.0999999999999996,43.200000000000003,2.8000000000000003,3.0000000000000004,65.299999999999997,31.100000000000001,27.800000000000004,90.900000000000006,84.200000000000003,59.100000000000001,86.200000000000003,89.700000000000003,77.299999999999997,5,20.400000000000002,38.300000000000004,91.700000000000003,30.400000000000002,77.200000000000003,85.200000000000003,85.400000000000006,36.400000000000006,76.599999999999994,31.500000000000004,7.2999999999999998,74.700000000000003,81.700000000000003,29.900000000000002,40.000000000000007,4.7000000000000002,7.5999999999999996,97.900000000000006,79.900000000000006,58.900000000000006,83,38,28.700000000000003,61.800000000000004,87.799999999999997,95.200000000000003,60.300000000000004,77,12.4,38.400000000000006,58.800000000000004,52.200000000000003,53.700000000000003,69.700000000000003,23.500000000000004,5.7999999999999998,71.299999999999997,4.2000000000000002,68,7,61.600000000000001,53.600000000000001,3.7000000000000002,90.599999999999994,95.700000000000003,24.300000000000004,68.299999999999997,69.299999999999997,54.200000000000003,13.1,99.5,51.300000000000004,32.800000000000004,3.2000000000000002,52.600000000000001,22.200000000000003,98.200000000000003,63.000000000000007,79.400000000000006,52.800000000000004,26.600000000000001,94.400000000000006,5.4000000000000004,21.700000000000003,78.700000000000003,88.5,9.8000000000000007,94.299999999999997,43.100000000000001,74.5,77.099999999999994,98.400000000000006,23.000000000000004,27.300000000000004,78.900000000000006,14.700000000000001,45.700000000000003,45.800000000000004,61.200000000000003,17.500000000000004,8.8000000000000007,48.000000000000007,73.799999999999997,50.200000000000003,79.200000000000003,63.900000000000006,99.299999999999997,12,98.5,18.300000000000001,31.400000000000002,9.9000000000000004,42.000000000000007,78.5,71.399999999999991,55.900000000000006,35.600000000000001,14.9,99.900000000000006,80.799999999999997,78.299999999999997,32.300000000000004,85.599999999999994,5.5999999999999996,39.200000000000003,11.4,32.5,56.500000000000007,28.400000000000002,22.100000000000001,46.600000000000001,47.200000000000003,86.5,9,26.300000000000004,20.100000000000001,25.300000000000004,62.400000000000006,38.900000000000006,82,56.800000000000004,35.5,66.5,87.900000000000006,84,82.400000000000006,90,16.400000000000002,29.500000000000004,30.000000000000004,7.0999999999999996,77.400000000000006,19.000000000000004,20.700000000000003,41.800000000000004,99.799999999999997,64.599999999999994,31.700000000000003,98.900000000000006,48.700000000000003,1.1000000000000001,8.0999999999999996,51.000000000000007,89.799999999999997,11.700000000000001,52.300000000000004,83.099999999999994,50.500000000000007,28.200000000000003,34.600000000000001,53.100000000000001,36.300000000000004,0.80000000000000004,65.799999999999997,85.099999999999994,21.400000000000002,58.600000000000001,61.700000000000003,39.500000000000007,62.000000000000007,70.5,6.7999999999999998,23.300000000000004,6.7000000000000002,32.200000000000003,32.900000000000006,14.300000000000001,1.7000000000000002,59.800000000000004,79.5,59.600000000000001,52.700000000000003,49.400000000000006,54.900000000000006,75.799999999999997,28.000000000000004,86.099999999999994,82.200000000000003,23.600000000000001,54.800000000000004,67.099999999999994,95.900000000000006,41.200000000000003,56.700000000000003,57.500000000000007,69.399999999999991,89.299999999999997,72.299999999999997,60.200000000000003,74.899999999999991,92.799999999999997,27.600000000000001,17.700000000000003,42.500000000000007,46.700000000000003,94.5,12.9,91.400000000000006,80.5,93.700000000000003,56.600000000000001,50.000000000000007,67.399999999999991,38.500000000000007,74.099999999999994,64.200000000000003,76.200000000000003,46.500000000000007,86.700000000000003,5.9000000000000004,41.000000000000007,17.400000000000002,50.400000000000006,72.899999999999991,92.299999999999997,19.900000000000002,64,84.299999999999997,49.600000000000001,62.800000000000004,32.700000000000003,68.399999999999991,3.4000000000000004,48.300000000000004,81.799999999999997,36.800000000000004,24.700000000000003,52.500000000000007,10.700000000000001,1.5000000000000002,22.900000000000002,94.200000000000003,19.100000000000001,27.400000000000002,94,29.300000000000004,95.599999999999994,60.400000000000006,19.800000000000004,31.800000000000004,37.5,74.799999999999997,91.200000000000003,7.5,58.200000000000003,40.700000000000003,45.900000000000006,28.900000000000002,36.700000000000003,18.900000000000002,97.700000000000003,82.799999999999997,8,39.400000000000006,44.200000000000003,37.600000000000001,88.200000000000003,29.700000000000003,43.000000000000007,46.400000000000006,73.899999999999991,56.900000000000006,75.200000000000003,6.0999999999999996,42.400000000000006,93.099999999999994,70.200000000000003,65.200000000000003,51.200000000000003,52.400000000000006,6.2000000000000002,63.300000000000004,62.700000000000003,13.700000000000001,88.099999999999994,89.200000000000003,98.700000000000003,17.300000000000001,60.000000000000007,34.700000000000003,52.000000000000007,70.899999999999991,76,0.10000000000000001,3.5000000000000004,72.599999999999994,75.399999999999991,59.500000000000007,49.900000000000006,2.1000000000000001,84.900000000000006,36.900000000000006,76.5,15.800000000000001,49.000000000000007,20.500000000000004,83.400000000000006,23.400000000000002,21.200000000000003,58.500000000000007,69.799999999999997,50.700000000000003,76.799999999999997,82.900000000000006,60.700000000000003,88.599999999999994,16,73.099999999999994,67.599999999999994,13.6,65.5,22.300000000000004,59.300000000000004,54.700000000000003,14.1,33.5,76.700000000000003,27.000000000000004,36.100000000000001,38.200000000000003,33.400000000000006,48.400000000000006,92.900000000000006,90.400000000000006,15.5,76.399999999999991,56.000000000000007,87.099999999999994,46.200000000000003,0.40000000000000002,26.500000000000004,64.700000000000003,59.000000000000007,11.1,69.899999999999991,10,2.6000000000000001,53.200000000000003,66.399999999999991,69.099999999999994,10.4,35.300000000000004,58.400000000000006,98,7.7000000000000002,55.000000000000007,66.099999999999994,90.200000000000003,63.700000000000003,24.100000000000001,14.5,13.200000000000001,52.100000000000001,71,85.700000000000003,0.70000000000000007,50.800000000000004,93.400000000000006,32,5.7000000000000002,78.400000000000006,62.500000000000007,70.599999999999994,97.5,34.900000000000006,9.3000000000000007,16.200000000000003,30.500000000000004,58.300000000000004,39.300000000000004,4.2999999999999998,91.799999999999997,45.400000000000006,46.800000000000004,69.5,67,70.399999999999991,6.9000000000000004,63.200000000000003,8.1999999999999993,67.5,96.799999999999997,20.900000000000002,18.200000000000003,37.400000000000006,14,97.200000000000003,84.700000000000003,67.299999999999997,21.600000000000001,30.300000000000004,54.600000000000001,17.900000000000002,75.299999999999997,40.400000000000006,16.800000000000001,92.599999999999994,58.700000000000003,78.799999999999997,21.800000000000004,6.2999999999999998,31.900000000000002,40.500000000000007,96.400000000000006,82.299999999999997,77.700000000000003,25.800000000000004,94.799999999999997,88.400000000000006,90.700000000000003,55.800000000000004,77.5,16.900000000000002,94.700000000000003,17.200000000000003,0.59999999999999998,29.800000000000004,8.4000000000000004,86.799999999999997,87.599999999999994,88.799999999999997,99.200000000000003,44.900000000000006,80.599999999999994,16.100000000000001,9.1999999999999993,13.300000000000001,12.200000000000001,26.000000000000004,82.700000000000003,24.600000000000001,4.9000000000000004,19.300000000000004,67.700000000000003,31.300000000000004,48.800000000000004,19.700000000000003,18.600000000000001,84.5,79.299999999999997,64.299999999999997,27.100000000000001,29.400000000000002,15.1,12.700000000000001,92.5,4.0999999999999996,74.200000000000003,72.799999999999997,83.799999999999997,91.099999999999994,33.800000000000004,55.200000000000003,93,85.5,9.5,3.6000000000000001,13.9,41.700000000000003,76.099999999999994,71.899999999999991,99.599999999999994,91,66,68.799999999999997,98.299999999999997,66.799999999999997,8.6999999999999993,71.700000000000003,58.000000000000007,90.799999999999997,97.099999999999994,84.400000000000006,77.900000000000006,34.100000000000001,11.9,43.500000000000007,34,35.800000000000004,96.299999999999997,47.500000000000007,20.200000000000003,15.300000000000001,37.800000000000004,96.599999999999994,28.500000000000004,47.000000000000007,11,34.400000000000006,87,80.299999999999997,69.599999999999994,86.400000000000006,81.099999999999994,1.3000000000000003,98.599999999999994,26.100000000000001,44.500000000000007,50.600000000000001,83.299999999999997,51.600000000000001,61.300000000000004,91.900000000000006,38.700000000000003,44.400000000000006,56.100000000000001,34.300000000000004,33.600000000000001,79.799999999999997,74.399999999999991,22.600000000000001,70.099999999999994,14.6,22.700000000000003,48.900000000000006,44.700000000000003,37.200000000000003,55.700000000000003,15.9,93.900000000000006,57.800000000000004,96.900000000000006,66.700000000000003,63.400000000000006,53.400000000000006,10.200000000000001,39.800000000000004,95.799999999999997,68.599999999999994,66.200000000000003,93.5,50.300000000000004,91.599999999999994,53.000000000000007,32.400000000000006,5.2000000000000002,3.3000000000000003,71.099999999999994,32.600000000000001,70.700000000000003,80.900000000000006,2.3000000000000003,33.700000000000003,72.200000000000003,25.000000000000004,17.800000000000001,59.200000000000003,75.5,80.099999999999994,19.600000000000001,15.4,10.9,33,86.299999999999997,23.800000000000004,24.200000000000003,16.600000000000001,67.200000000000003,73.200000000000003,87.299999999999997,76.299999999999997,23.200000000000003,63.600000000000001,78.599999999999994,92,90.5,30.600000000000001,22.000000000000004,27.700000000000003,68.700000000000003,26.400000000000002,83.900000000000006,4.5,48.500000000000007,16.700000000000003,46.100000000000001,69,3.1000000000000001],"alpha":[-7.1871871871871882,19.079079079079079,-0.7807807807807805,-11.351351351351351,9.7497497497497498,-16.796796796796798,9.1891891891891895,-10.59059059059059,19.119119119119119,-6.7067067067067061,-18.398398398398399,-16.636636636636638,15.715715715715717,-14.314314314314315,15.995995995995997,-1.7417417417417411,-5.8258258258258255,20,-13.233233233233232,8.508508508508509,19.199199199199199,11.631631631631631,8.3483483483483489,-16.556556556556558,12.832832832832835,17.917917917917919,-5.6256256256256254,3.063063063063062,14.034034034034036,7.4274274274274283,-11.991991991991991,-1.581581581581581,-4.6246246246246248,-19.71971971971972,8.428428428428429,-11.151151151151151,-2.1021021021021014,-7.2672672672672682,-19.199199199199199,14.554554554554556,-15.755755755755755,-15.075075075075075,6.1061061061061075,-10.27027027027027,14.434434434434436,19.55955955955956,5.7457457457457473,9.8298298298298299,-10.910910910910911,19.5995995995996,15.155155155155157,11.551551551551551,-17.037037037037038,-16.676676676676678,18.558558558558559,-3.8238238238238225,-13.033033033033032,-16.516516516516518,0.26026026026026017,12.152152152152155,-10.11011011011011,10.71071071071071,11.991991991991991,-7.5075075075075084,-13.793793793793794,-19.63963963963964,-13.913913913913914,-13.513513513513512,8.8688688688688693,-19.27927927927928,-15.275275275275275,12.192192192192195,-14.354354354354355,0.060060060060060039,2.7027027027027017,-4.7447447447447448,-10.47047047047047,7.3473473473473483,6.9869869869869881,12.872872872872875,-14.954954954954955,-1.3813813813813809,18.038038038038039,0.020020020020020013,-2.4224224224224216,4.9849849849849832,8.7087087087087092,7.9079079079079087,18.238238238238239,-8.1881881881881888,13.513513513513516,1.8218218218218212,-7.9079079079079087,-17.757757757757759,9.1091091091091094,0.94094094094094061,8.7487487487487492,6.2262262262262276,11.151151151151151,-14.714714714714715,-2.5825825825825817,-19.7997997997998,4.4244244244244229,19.75975975975976,15.275275275275277,7.8278278278278286,19.35935935935936,3.3033033033033021,-3.6236236236236223,18.918918918918919,-6.3863863863863859,4.4644644644644629,-9.4694694694694697,-12.992992992992992,4.7847847847847831,11.871871871871871,-6.1061061061061057,-17.517517517517518,-6.0660660660660657,3.9839839839839826,-4.0640640640640644,14.234234234234236,-17.397397397397398,1.541541541541541,17.837837837837839,1.9019019019019012,-15.035035035035035,9.7897897897897899,15.875875875875877,9.94994994994995,18.198198198198199,-12.752752752752752,-19.079079079079079,2.1421421421421414,-0.30030030030030019,-9.9099099099099099,-14.154154154154154,-0.90090090090090058,3.7837837837837824,12.992992992992995,4.9449449449449432,14.794794794794797,-16.116116116116117,15.195195195195197,17.557557557557558,8.5485485485485491,-13.993993993993994,-2.7427427427427418,-10.950950950950951,-11.271271271271271,-2.9029029029029019,-6.1461461461461457,6.0260260260260274,6.3863863863863877,3.2632632632632621,10.51051051051051,-0.86086086086086056,-10.15015015015015,-3.3833833833833822,-18.118118118118119,-18.518518518518519,18.998998998998999,-9.7897897897897899,10.950950950950951,-4.4244244244244246,2.7427427427427418,-1.1811811811811808,-4.6646646646646648,6.5865865865865878,-13.553553553553552,-1.3413413413413409,15.115115115115117,-12.232232232232231,-4.8248248248248249,-2.8628628628628618,5.3453453453453434,-11.031031031031031,5.2652652652652634,-4.8648648648648649,-10.55055055055055,5.7857857857857873,-6.506506506506506,-4.984984984984985,-7.9479479479479487,-6.3463463463463459,-19.31931931931932,0.30030030030030019,-8.0680680680680688,-11.631631631631631,-8.9889889889889893,12.912912912912915,10.15015015015015,-14.074074074074074,16.796796796796798,-9.8698698698698699,18.758758758758759,2.1821821821821814,-1.1411411411411407,-16.316316316316318,-11.111111111111111,-1.9019019019019012,9.3093093093093096,5.3853853853853835,-18.438438438438439,5.7057057057057072,-5.9859859859859856,5.1851851851851833,-1.6616616616616611,-4.944944944944945,-17.157157157157158,-8.508508508508509,5.1051051051051033,-0.82082082082082053,9.5895895895895897,-5.7857857857857855,-16.036036036036037,-3.143143143143142,-19.5995995995996,6.906906906906908,-12.792792792792792,-11.551551551551551,-12.152152152152151,7.4674674674674684,14.114114114114116,-7.6276276276276285,-1.541541541541541,7.0670670670670681,-13.753753753753754,-8.468468468468469,12.112112112112115,16.836836836836838,-13.313313313313312,15.755755755755757,14.514514514514516,16.276276276276278,16.636636636636638,-7.3873873873873883,-14.834834834834835,-18.278278278278279,-10.19019019019019,5.5055055055055035,-0.54054054054054035,14.594594594594597,3.6636636636636624,8.2682682682682689,2.5025025025025016,18.278278278278279,13.233233233233236,12.792792792792795,-14.594594594594595,-8.3083083083083089,-2.4624624624624616,-0.38038038038038025,-4.3043043043043046,-11.791791791791791,-14.994994994994995,-6.3063063063063058,-4.1041041041041044,18.598598598598599,-16.436436436436438,7.6276276276276285,19.87987987987988,6.946946946946948,12.632632632632635,13.273273273273276,5.9459459459459474,19.159159159159159,1.621621621621621,-4.1441441441441444,13.553553553553556,11.511511511511511,18.678678678678679,4.3843843843843828,8.6286286286286291,-13.713713713713714,9.6296296296296298,-19.55955955955956,-14.874874874874875,-19.83983983983984,14.314314314314316,-15.835835835835836,-1.0210210210210207,16.516516516516518,17.237237237237238,-5.7057057057057055,16.196196196196198,18.478478478478479,6.2662662662662676,17.157157157157158,0.58058058058058037,-1.8618618618618612,-18.318318318318319,-5.1051051051051051,-11.391391391391391,7.8678678678678686,-15.995995995995996,6.7067067067067079,-9.5095095095095097,15.315315315315317,-15.195195195195195,-14.234234234234235,3.9439439439439425,4.584584584584583,16.476476476476478,17.437437437437438,-18.838838838838839,7.5875875875875884,-15.875875875875876,4.2642642642642627,8.1081081081081088,-14.474474474474475,11.951951951951951,13.913913913913916,12.232232232232235,-12.432432432432432,10.27027027027027,-1.8218218218218212,18.318318318318319,-5.5455455455455454,-5.3853853853853852,12.592592592592595,-16.716716716716718,-3.9039039039039025,2.8628628628628618,6.6266266266266278,6.5065065065065077,-13.473473473473472,-3.063063063063062,-18.758758758758759,7.3873873873873883,15.555555555555557,-10.39039039039039,-12.632632632632632,18.518518518518519,1.8618618618618612,-9.6696696696696698,-6.546546546546546,13.873873873873876,-9.1891891891891895,-10.51051051051051,-11.231231231231231,-13.073073073073072,-8.7087087087087092,-13.113113113113112,-19.23923923923924,-10.31031031031031,-19.95995995995996,14.714714714714717,-2.0620620620620613,-19.47947947947948,12.472472472472475,-8.388388388388389,9.4694694694694697,-11.871871871871871,4.0240240240240226,-5.5055055055055053,-16.476476476476478,11.311311311311311,-16.276276276276278,15.235235235235237,17.757757757757759,-3.4634634634634622,13.193193193193196,2.5825825825825817,-15.395395395395395,-16.836836836836838,-8.8688688688688693,12.512512512512515,-5.4654654654654653,6.1861861861861875,14.994994994994997,17.117117117117118,-15.955955955955956,-14.034034034034034,3.8638638638638625,-8.2282282282282289,15.035035035035037,12.432432432432435,-10.71071071071071,-7.4674674674674684,17.797797797797799,16.356356356356358,17.357357357357358,-10.03003003003003,10.55055055055055,-8.8288288288288292,1.9419419419419413,3.8238238238238225,-2.5025025025025016,5.0250250250250232,-9.0690690690690694,-8.9089089089089093,1.1011011011011007,-5.9059059059059056,17.477477477477478,-15.915915915915916,-12.072072072072071,-18.038038038038039,3.5435435435435423,12.672672672672675,8.9889889889889893,16.596596596596598,-19.75975975975976,15.595595595595597,-10.830830830830831,-2.2222222222222214,-7.1471471471471464,8.6686686686686691,-6.586586586586586,-7.8278278278278286,13.473473473473476,10.11011011011011,-16.876876876876878,19.47947947947948,16.436436436436438,17.037037037037038,11.231231231231231,-17.197197197197198,12.032032032032035,-11.591591591591591,16.756756756756758,0.66066066066066043,18.438438438438439,-10.870870870870871,2.5425425425425416,-17.117117117117118,12.952952952952955,-9.94994994994995,-7.4274274274274283,-9.8298298298298299,-17.797797797797799,-8.428428428428429,-2.3823823823823815,11.431431431431431,-13.193193193193192,-1.2612612612612608,10.35035035035035,-17.277277277277278,-5.065065065065065,7.5075075075075084,-12.032032032032031,-1.4614614614614609,10.31031031031031,9.2692692692692695,-9.1491491491491495,-16.996996996996998,18.158158158158159,-18.958958958958959,-14.634634634634635,-4.5845845845845847,-16.596596596596598,-18.878878878878879,16.036036036036037,-9.7497497497497498,-6.9069069069069062,8.8288288288288292,-12.912912912912912,-3.3433433433433422,16.156156156156158,-17.917917917917919,-2.5425425425425416,7.3073073073073083,-1.1011011011011007,8.468468468468469,12.272272272272275,13.793793793793796,-17.597597597597598,-6.7867867867867862,-16.076076076076077,14.954954954954957,18.118118118118119,5.5455455455455436,-0.020020020020020013,-16.156156156156158,-3.9839839839839826,4.664664664664663,18.838838838838839,9.5495495495495497,3.3433433433433422,5.2252252252252234,3.3833833833833822,-1.9819819819819813,13.433433433433436,-15.235235235235235,-5.2252252252252251,-0.58058058058058037,-19.039039039039039,-15.795795795795796,-15.595595595595595,11.071071071071071,6.7867867867867879,11.831831831831831,1.501501501501501,19.83983983983984,2.3823823823823815,5.1451451451451433,-14.194194194194194,4.3443443443443428,-17.837837837837839,9.7097097097097098,15.395395395395397,-4.4644644644644647,0.7807807807807805,6.826826826826828,18.358358358358359,-1.3013013013013008,-10.75075075075075,-9.7097097097097098,-0.10010010010010006,2.3023023023023015,17.957957957957959,6.4664664664664677,15.515515515515517,-2.9829829829829819,17.277277277277278,8.1481481481481488,-6.8668668668668662,-1.7017017017017011,1.1811811811811808,10.23023023023023,19.95995995995996,-1.9419419419419413,-18.198198198198199,7.7077077077077085,15.795795795795797,-18.798798798798799,-17.077077077077078,1.3013013013013008,-2.9429429429429419,-18.918918918918919,14.634634634634637,3.0230230230230219,1.2612612612612608,19.039039039039039,7.1871871871871882,19.43943943943944,-17.437437437437438,-8.6686686686686691,19.7997997997998,6.4264264264264277,10.07007007007007,14.154154154154156,2.6626626626626617,0.54054054054054035,-6.9869869869869863,-1.501501501501501,5.9859859859859874,6.1461461461461475,10.59059059059059,7.7877877877877886,-3.2232232232232221,-17.357357357357358,-8.1081081081081088,2.4224224224224216,14.194194194194196,1.4214214214214209,10.39039039039039,-14.674674674674675,-7.6676676676676685,-4.5445445445445447,0.18018018018018012,10.47047047047047,-0.6206206206206204,12.712712712712715,-6.2662662662662658,-3.5435435435435423,-15.155155155155155,10.43043043043043,15.955955955955957,-13.873873873873874,-3.7437437437437424,18.078078078078079,-11.911911911911911,-7.7077077077077085,-5.8658658658658656,5.4654654654654635,0.6206206206206204,-10.67067067067067,-13.833833833833834,-17.677677677677679,4.0640640640640626,-7.7477477477477485,-11.831831831831831,-9.4294294294294296,-17.957957957957959,1.7417417417417411,8.2282282282282289,-6.626626626626626,-11.751751751751751,-13.393393393393392,16.236236236236238,-1.0610610610610607,-17.557557557557558,4.3043043043043028,-4.2242242242242245,-16.356356356356358,17.077077077077078,11.271271271271271,2.9429429429429419,-6.4264264264264259,13.833833833833836,8.7887887887887892,-17.317317317317318,0.90090090090090058,5.5855855855855836,17.717717717717719,8.5885885885885891,9.3893893893893896,4.1041041041041026,-18.718718718718719,17.877877877877879,-6.7467467467467461,12.752752752752755,6.3463463463463476,9.5095095095095097,13.593593593593596,-0.4604604604604603,-15.635635635635635,-7.9879879879879887,-17.477477477477478,-11.471471471471471,15.635635635635637,-2.1421421421421414,-20,-11.951951951951951,18.718718718718719,13.953953953953956,-12.352352352352352,-13.433433433433432,19.67967967967968,2.0620620620620613,-12.472472472472472,-9.3093093093093096,0.70070070070070045,13.353353353353356,-13.593593593593594,3.5835835835835823,-7.5475475475475484,-8.9489489489489493,3.4634634634634622,-9.5495495495495497,-16.196196196196198,14.674674674674677,-12.952952952952952,2.8228228228228218,-19.3993993993994,4.5445445445445429,-10.07007007007007,-4.7847847847847849,-7.7877877877877886,-16.396396396396398,7.0270270270270281,17.677677677677679,-18.158158158158159,19.63963963963964,-3.1831831831831821,0.86086086086086056,-4.3443443443443446,-14.794794794794795,-19.35935935935936,-2.3023023023023015,2.9829829829829819,3.1831831831831821,10.830830830830831,8.9089089089089093,-14.514514514514515,-11.431431431431431,-4.9049049049049049,14.394394394394396,-0.14014014014014009,4.8248248248248231,0.42042042042042027,-18.358358358358359,10.03003003003003,13.393393393393396,-13.153153153153152,-2.0220220220220213,-9.3893893893893896,-13.953953953953954,16.676676676676678,4.8648648648648631,-10.35035035035035,-19.43943943943944,-1.621621621621621,2.1021021021021014,13.033033033033036,8.0680680680680688,-14.114114114114114,0.98098098098098063,-3.7837837837837824,-11.511511511511511,-0.22022022022022014,2.2622622622622615,-11.311311311311311,-10.43043043043043,-12.392392392392392,10.75075075075075,-13.673673673673674,-7.3473473473473483,13.313313313313316,14.834834834834837,5.6256256256256236,0.38038038038038025,-9.3493493493493496,-6.9469469469469463,14.354354354354356,19.23923923923924,-3.9439439439439425,8.3083083083083089,1.581581581581581,15.835835835835837,-5.3453453453453452,-9.5895895895895897,-13.633633633633634,11.471471471471471,-18.638638638638639,1.7817817817817811,-3.103103103103102,18.798798798798799,19.3993993993994,-11.071071071071071,3.7037037037037024,13.713713713713716,-18.478478478478479,-0.50050050050050032,1.9819819819819813,-3.0230230230230219,4.1441441441441427,-12.192192192192191,-3.2632632632632621,7.7477477477477485,7.9479479479479487,18.958958958958959,11.751751751751751,6.7467467467467479,-18.238238238238239,-17.997997997997999,-4.7047047047047048,1.7017017017017011,-14.914914914914915,4.704704704704703,-3.6636636636636624,15.435435435435437,-15.435435435435435,2.0220220220220213,0.82082082082082053,-7.2272272272272282,-8.7487487487487492,4.1841841841841827,17.637637637637638,3.9039039039039025,3.5035035035035023,12.312312312312315,-16.756756756756758,18.398398398398399,-6.0260260260260257,-12.512512512512512,-5.3053053053053052,3.7437437437437424,-15.715715715715715,7.2272272272272282,-18.998998998998999,19.51951951951952,-8.7887887887887892,17.197197197197198,-2.7027027027027017,-0.94094094094094061,-12.592592592592592,-6.6666666666666661,-4.2642642642642645,-19.91991991991992,-16.916916916916918,-9.98998998998999,-13.273273273273272,5.9059059059059074,9.8698698698698699,0.74074074074074048,-1.7817817817817811,13.073073073073076,-2.8228228228228218,11.111111111111111,-9.0290290290290294,7.2672672672672682,1.4614614614614609,-15.475475475475475,-1.2212212212212208,-5.1451451451451451,-12.312312312312311,-7.3073073073073083,11.031031031031031,-5.6656656656656654,-14.754754754754755,7.1071071071071081,1.0610610610610607,0.22022022022022014,-5.7457457457457455,19.71971971971972,-18.078078078078079,13.113113113113116,-0.18018018018018012,13.753753753753756,-5.025025025025025,13.153153153153156,11.391391391391391,-0.060060060060060039,4.624624624624623,7.1471471471471482,-9.2692692692692695,-18.598598598598599,2.2222222222222214,16.956956956956958,2.3423423423423415,-5.4254254254254253,11.791791791791791,10.67067067067067,-8.1481481481481488,8.1881881881881888,5.4254254254254235,-4.0240240240240244,6.6666666666666679,8.0280280280280287,-19.159159159159159,17.517517517517518,-15.515515515515515,5.6656656656656672,11.191191191191191,-8.5885885885885891,4.7447447447447431,-12.672672672672672,17.597597597597598,-1.4214214214214209,2.6226226226226217,-12.112112112112111,-15.115115115115115,0.14014014014014009,-11.671671671671671,7.6676676676676685,13.993993993993996,11.911911911911911,13.673673673673676,4.2242242242242227,14.274274274274276,6.866866866866868,-10.790790790790791,-0.26026026026026017,-0.66066066066066043,-5.5855855855855854,15.355355355355357,-9.1091091091091094,12.352352352352355,11.671671671671671,-6.1861861861861858,-11.191191191191191,-7.0270270270270263,1.3413413413413409,-18.558558558558559,9.2292292292292295,-0.34034034034034022,-7.5875875875875884,-4.1841841841841845,-16.236236236236238,-2.3423423423423415,3.4234234234234222,-11.711711711711711,14.474474474474476,11.591591591591591,-3.5835835835835823,3.2232232232232221,16.076076076076077,-0.74074074074074048,9.9099099099099099,-5.1851851851851851,-12.872872872872872,0.34034034034034022,5.3053053053053034,16.996996996996998,-4.5045045045045047,3.103103103103102,5.8658658658658673,9.0290290290290294,10.910910910910911,-2.7827827827827818,16.556556556556558,9.3493493493493496,-14.274274274274275,-7.0670670670670663,0.10010010010010006,12.552552552552555,2.7827827827827818,-5.2652652652652652,6.0660660660660675,-8.6286286286286291,-9.2292292292292295,-12.552552552552552,2.4624624624624616,6.3063063063063076,-19.51951951951952,-2.2622622622622615,19.91991991991992,-14.434434434434435,-3.5035035035035023,3.6236236236236223,1.6616616616616611,4.9049049049049032,9.1491491491491495,-15.355355355355355,11.351351351351351,-17.877877877877879,-6.8268268268268262,15.915915915915917,-10.990990990990991,5.0650650650650633,14.914914914914917,-2.1821821821821814,4.5045045045045029,-7.1071071071071064,8.9489489489489493,8.388388388388389,-18.678678678678679,-14.554554554554555,10.990990990990991,-3.3033033033033021,-12.832832832832832,15.475475475475477,-19.119119119119119,-2.6626626626626617,-19.67967967967968,18.878878878878879,11.711711711711711,-17.717717717717719,3.143143143143142,13.633633633633636,9.0690690690690694,14.754754754754757,-10.63063063063063,-8.2682682682682689,16.396396396396398,17.997997997997999,9.6696696696696698,1.3813813813813809,-10.23023023023023,-17.637637637637638,7.9879879879879887,-0.42042042042042027,10.63063063063063,17.317317317317318,-3.8638638638638625,-16.956956956956958,-12.712712712712712,-3.4234234234234222,18.638638638638639,10.870870870870871,1.0210210210210207,0.50050050050050032,16.716716716716718,0.4604604604604603,9.98998998998999,-0.98098098098098063,-0.70070070070070045,7.5475475475475484,10.19019019019019,14.074074074074076,10.790790790790791,-15.675675675675675,-13.353353353353352,14.874874874874877,16.916916916916918,-14.394394394394395,9.4294294294294296,5.8258258258258273,-12.272272272272271,-8.5485485485485491,-9.6296296296296298,19.27927927927928,16.116116116116117,-8.3483483483483489,-4.3843843843843846,12.072072072072075,-6.2262262262262258,16.316316316316318,15.075075075075077,16.876876876876878,-17.237237237237238,-7.8678678678678686,-15.555555555555555,-2.6226226226226217,-3.7037037037037024,1.1411411411411407,12.392392392392395,-19.87987987987988,2.9029029029029019,15.675675675675677,-6.4664664664664659,17.397397397397398,-15.315315315315315,1.2212212212212208,19.31931931931932,-5.9459459459459456,6.5465465465465478,-8.0280280280280287],"x":[29.72972972972974,7.3073073073073118,-69.769769769769766,2.1021021021021085,52.352352352352369,-1.5015015015014939,41.541541541541562,-26.126126126126124,18.318318318318319,56.156156156156158,84.184184184184204,63.563563563563577,-59.35935935935936,97.797797797797813,-78.378378378378372,79.579579579579587,-94.994994994994997,-40.940940940940941,49.349349349349353,-42.742742742742742,-25.725725725725724,5.9059059059059109,95.795795795795812,-36.736736736736731,2.3023023023023086,34.734734734734729,37.93793793793796,-54.95495495495495,-65.565565565565564,96.596596596596612,-4.5045045045044958,-50.750750750750747,-92.992992992992995,21.921921921921935,44.54454454454455,-17.917917917917919,82.982982982983003,62.562562562562562,-27.727727727727725,-48.548548548548546,54.554554554554556,-94.394394394394396,13.113113113113116,0.10010010010010717,23.323323323323336,15.915915915915917,74.774774774774784,-24.124124124124123,-66.566566566566564,-31.131131131131127,-44.744744744744743,-40.34034034034034,-82.782782782782789,-62.562562562562562,85.985985985985991,93.193193193193196,-90.590590590590594,-1.1011011011010936,-94.194194194194196,69.769769769769766,31.331331331331342,-42.942942942942942,91.191191191191194,44.344344344344364,76.976976976976999,-38.338338338338332,53.353353353353356,55.955955955955972,-69.169169169169166,41.341341341341348,24.724724724724737,-38.938938938938932,30.330330330330327,42.142142142142148,3.7037037037037095,1.1011011011011078,12.512512512512515,-84.38438438438439,36.136136136136145,19.51951951951952,62.362362362362376,-5.3053053053052963,-36.336336336336331,42.342342342342363,-50.950950950950947,15.315315315315317,-53.153153153153148,-100,-79.979979979979987,-66.166166166166164,43.143143143143163,-15.715715715715717,-66.966966966966964,-93.793793793793796,-24.524524524524523,57.357357357357358,-46.946946946946944,33.733733733733743,-79.779779779779773,-43.943943943943943,-58.158158158158159,-21.321321321321321,51.351351351351354,-17.717717717717719,43.74374374374375,46.946946946946952,-0.30030030030029309,-38.738738738738732,11.511511511511515,71.771771771771796,92.192192192192209,39.139139139139161,20.120120120120134,43.343343343343349,6.5065065065065113,95.195195195195197,16.716716716716718,88.788788788788793,-47.747747747747745,-9.509509509509499,56.756756756756772,-84.984984984984976,-61.361361361361361,35.735735735735744,-76.776776776776771,41.141141141141162,-45.145145145145143,-60.76076076076076,28.52852852852854,64.564564564564563,2.7027027027027088,7.9079079079079122,-81.981981981981988,65.165165165165178,17.117117117117118,67.367367367367365,-73.773773773773769,75.375375375375398,-32.932932932932928,22.122122122122136,51.551551551551569,-32.732732732732728,-92.592592592592595,73.173173173173183,-95.995995995995997,98.398398398398399,32.732732732732728,-72.572572572572568,-86.586586586586591,-34.334334334334329,-29.129129129129126,22.522522522522536,93.993993993993996,64.764764764764777,48.148148148148152,-36.13613613613613,-10.9109109109109,-73.173173173173168,-85.385385385385391,1.3013013013013079,-68.168168168168165,36.336336336336331,-5.1051051051050962,27.127127127127139,-95.195195195195197,-60.56056056056056,15.715715715715717,50.150150150150154,-1.9019019019018941,70.170170170170167,73.573573573573583,-91.591591591591595,80.780780780780788,-33.933933933933929,-81.581581581581588,-82.582582582582575,-12.512512512512501,11.111111111111114,-55.55555555555555,39.939939939939961,-13.513513513513502,-69.569569569569566,49.749749749749753,-89.589589589589593,58.158158158158159,70.570570570570567,-40.54054054054054,64.364364364364377,71.971971971971982,82.582582582582603,-9.1091091091090988,-52.152152152152148,93.79379379379381,67.567567567567579,78.378378378378386,-83.183183183183189,77.3773773773774,36.936936936936945,-85.585585585585591,95.995995995995997,23.723723723723737,27.327327327327339,-65.965965965965964,34.534534534534544,26.526526526526538,-16.316316316316318,0.90090090090090769,-86.186186186186191,-64.364364364364363,-86.986986986986992,92.99299299299301,86.986986986987006,-35.33533533533533,40.340340340340362,25.925925925925938,-11.3113113113113,38.538538538538546,85.18518518518519,61.361361361361361,-87.387387387387392,-22.922922922922922,-10.7107107107107,-58.958958958958959,-39.939939939939933,38.138138138138146,40.940940940940948,-61.161161161161161,0.70070070070070756,97.997997997997999,-1.3013013013012937,-14.314314314314302,-2.7027027027026946,-32.132132132132128,40.740740740740762,30.530530530530541,-33.533533533533529,-26.326326326326324,20.520520520520535,21.121121121121135,-31.531531531531527,-71.171171171171167,59.559559559559574,-22.122122122122121,68.568568568568566,12.712712712712715,-31.731731731731728,-58.758758758758759,-39.339339339339332,-54.154154154154149,-67.167167167167165,-11.911911911911901,72.972972972972997,79.979979979979987,20.320320320320334,98.598598598598613,45.545545545545565,-74.374374374374369,71.371371371371396,10.310310310310314,97.397397397397413,-23.523523523523522,18.118118118118119,0.3003003003003073,-6.5065065065064971,-91.191191191191194,25.125125125125138,-4.9049049049048961,-15.315315315315317,-57.557557557557558,-77.577577577577571,53.95395395395397,-65.365365365365363,-90.790790790790794,39.739739739739747,22.922922922922936,3.5035035035035094,-6.7067067067066972,47.747747747747752,81.781781781781802,-67.967967967967965,-52.352352352352348,-93.193193193193196,83.98398398398399,51.151151151151169,-39.739739739739733,-77.977977977977972,-64.564564564564563,46.146146146146151,-58.358358358358359,62.162162162162161,-7.3073073073072976,-95.395395395395397,14.914914914914917,-8.9089089089088986,46.546546546546551,-57.357357357357358,-31.931931931931928,2.5025025025025087,9.3093093093093131,-87.787787787787792,-30.930930930930927,-16.116116116116117,91.391391391391409,33.933933933933929,-83.583583583583589,-74.77477477477477,-3.303303303303295,80.980980980981002,94.594594594594611,-37.937937937937932,11.911911911911915,-6.306306306306297,-49.749749749749746,48.748748748748767,-25.325325325325323,-91.991991991991995,19.31931931931932,-80.580580580580573,24.324324324324337,-99.3993993993994,-33.133133133133128,-98.398398398398399,83.583583583583589,98.798798798798799,-60.36036036036036,-51.151151151151147,89.789789789789808,-32.332332332332328,-63.363363363363362,-12.912912912912901,-75.37537537537537,-71.971971971971968,65.765765765765764,70.370370370370381,-70.570570570570567,22.322322322322336,79.379379379379401,60.960960960960961,-4.1041041041040955,50.950950950950954,74.574574574574598,-30.730730730730727,-1.701701701701694,-96.796796796796798,19.119119119119119,77.577577577577586,29.129129129129126,9.7097097097097134,79.179179179179187,94.394394394394396,-47.347347347347345,-91.791791791791795,-90.990990990990994,-19.31931931931932,73.773773773773797,-71.371371371371367,65.565565565565578,53.753753753753756,-62.962962962962962,-67.567567567567565,84.78478478478479,83.783783783783804,-21.521521521521521,89.389389389389407,85.785785785785805,54.154154154154156,58.958958958958959,51.751751751751755,21.721721721721735,-4.7047047047046959,-19.91991991991992,-63.963963963963963,-85.785785785785791,47.347347347347352,45.945945945945965,96.796796796796798,-78.178178178178172,-82.182182182182174,67.167167167167179,67.967967967967979,3.1031031031031091,-5.9059059059058967,20.720720720720735,-35.73573573573573,-36.936936936936931,81.181181181181188,35.335335335335344,-83.98398398398399,-95.795795795795797,62.762762762762776,-84.184184184184176,93.39339339339341,46.346346346346365,99.799799799799814,-64.164164164164163,68.36836836836838,-96.996996996996998,-34.734734734734729,-64.764764764764763,-47.947947947947945,65.965965965965978,-34.134134134134129,-94.794794794794797,-22.522522522522522,60.760760760760775,-56.556556556556551,-2.3023023023022944,-5.7057057057056966,-55.75575575575575,60.360360360360374,90.590590590590608,-48.948948948948946,26.326326326326338,-19.71971971971972,29.929929929929926,89.989989989989994,-80.180180180180173,-59.55955955955956,73.973973973973983,7.5075075075075119,39.339339339339347,66.966966966966964,84.584584584584604,98.998998998999014,-38.538538538538532,-88.188188188188192,36.536536536536545,-34.534534534534529,-27.527527527527525,-35.93593593593593,31.131131131131127,-44.544544544544543,38.738738738738761,-26.726726726726724,99.199199199199199,-71.771771771771768,-12.112112112112101,-74.97497497497497,-77.777777777777771,15.515515515515517,90.390390390390394,41.941941941941963,-8.1081081081080981,-39.539539539539533,-2.1021021021020942,43.543543543543564,-83.783783783783775,72.772772772772782,-29.329329329329326,9.5095095095095132,99.399399399399414,-61.761761761761761,45.745745745745751,-75.17517517517517,33.333333333333343,-42.142142142142141,-9.7097097097096992,-89.189189189189193,-20.72072072072072,42.942942942942949,59.959959959959974,-50.550550550550547,61.761761761761761,-53.553553553553549,-20.32032032032032,-20.12012012012012,-67.367367367367365,43.943943943943964,-68.968968968968966,31.531531531531527,44.94494494494495,-23.123123123123122,98.198198198198213,-70.770770770770767,64.964964964964963,-78.578578578578572,90.790790790790794,-37.137137137137131,-68.368368368368365,-76.976976976976971,-54.554554554554549,31.731731731731742,11.711711711711715,78.1781781781782,-73.973973973973969,16.516516516516518,-9.9099099099098993,-77.177177177177171,42.542542542542549,-57.157157157157151,78.978978978979001,70.970970970970995,-91.391391391391394,-7.907907907907898,-8.5085085085084984,75.175175175175184,-14.114114114114102,-63.763763763763762,47.547547547547566,68.968968968968966,19.719719719719734,5.1051051051051104,-86.386386386386391,94.994994994995011,13.713713713713716,29.32932932932934,58.758758758758773,57.157157157157172,-54.75475475475475,-35.13513513513513,96.996996996997012,7.7077077077077121,10.710710710710714,9.9099099099099135,26.126126126126138,89.589589589589593,-26.526526526526524,-11.1111111111111,-90.190190190190194,21.521521521521535,-20.920920920920921,10.110110110110114,-46.546546546546544,37.137137137137159,-38.138138138138132,56.556556556556558,80.380380380380387,-21.121121121121121,83.383383383383403,82.182182182182203,-39.139139139139132,78.778778778778786,100,-31.331331331331327,69.369369369369366,-53.353353353353349,3.3033033033033092,-61.961961961961961,-79.179179179179187,35.13513513513513,-52.952952952952948,38.938938938938946,58.358358358358373,81.381381381381402,-90.390390390390394,89.189189189189193,-92.792792792792795,17.717717717717719,72.172172172172196,8.1081081081081123,-49.349349349349346,-76.576576576576571,66.166166166166164,-92.392392392392395,-24.724724724724723,10.910910910910914,57.557557557557573,-40.74074074074074,96.196196196196212,-43.343343343343342,1.9019019019019083,-45.545545545545544,27.927927927927939,88.188188188188207,13.513513513513516,66.766766766766779,-97.597597597597598,-15.515515515515517,-28.128128128128125,91.591591591591595,20.920920920920935,34.334334334334329,17.917917917917919,29.529529529529526,4.1041041041041098,-96.196196196196198,90.990990990991008,-99.5995995995996,-62.362362362362362,34.134134134134143,-42.542542542542542,79.779779779779801,95.395395395395411,-48.748748748748746,99.5995995995996,-55.35535535535535,-81.181181181181188,-99.199199199199199,8.3083083083083125,-25.125125125125123,10.510510510510514,-5.5055055055054964,82.382382382382389,-99.7997997997998,-88.788788788788793,65.365365365365363,-45.945945945945944,-79.379379379379372,49.549549549549567,2.902902902902909,28.128128128128139,-75.97597597597597,-56.356356356356351,22.722722722722736,16.916916916916918,-82.382382382382389,-54.354354354354349,68.76876876876878,23.123123123123136,25.325325325325338,87.387387387387406,-59.95995995995996,28.92892892892894,-10.110110110110099,35.93593593593593,-57.757757757757759,58.558558558558559,48.948948948948953,-17.317317317317318,74.974974974974998,-74.174174174174169,88.388388388388393,-55.95595595595595,-8.3083083083082983,-85.985985985985991,-25.525525525525524,-47.147147147147145,-22.722722722722722,11.311311311311314,-6.9069069069068973,-78.778778778778786,26.726726726726739,63.363363363363362,91.791791791791809,50.550550550550554,-51.351351351351347,-68.768768768768766,-92.192192192192195,-75.77577577577577,24.924924924924937,-72.172172172172168,-70.170170170170167,63.763763763763762,-88.988988988988993,-28.928928928928926,-14.914914914914917,-17.517517517517518,-89.389389389389393,-97.197197197197198,-52.752752752752748,66.366366366366378,-36.536536536536531,-46.146146146146144,53.15315315315317,-70.370370370370367,57.957957957957973,-11.5115115115115,-66.366366366366364,-82.982982982982975,94.19419419419421,-0.70070070070069335,-51.551551551551547,-48.348348348348345,-24.324324324324323,-29.729729729729726,61.161161161161175,-27.927927927927925,37.737737737737746,-50.150150150150147,52.75275275275277,-62.162162162162161,-86.786786786786791,54.954954954954957,66.566566566566564,55.355355355355357,5.3053053053053105,24.124124124124137,-37.537537537537531,92.392392392392395,-89.989989989989994,-53.753753753753749,-44.944944944944943,80.580580580580602,-24.924924924924923,74.374374374374383,59.159159159159174,81.581581581581588,56.956956956956958,-60.960960960960961,-71.571571571571567,5.7057057057057108,94.794794794794797,-9.3093093093092989,49.149149149149167,85.385385385385405,72.372372372372382,-29.529529529529526,-55.15515515515515,-23.323323323323322,3.9039039039039096,-15.915915915915917,61.961961961961975,-46.346346346346344,-98.798798798798799,-93.993993993993996,14.114114114114116,23.523523523523536,75.575575575575584,62.962962962962962,85.585585585585591,-16.716716716716718,-26.926926926926924,0.50050050050050743,50.750750750750768,30.930930930930941,87.587587587587592,69.969969969969981,63.163163163163176,-21.721721721721721,17.317317317317318,18.718718718718719,-10.3103103103103,33.133133133133128,-2.5025025025024945,48.548548548548553,6.9069069069069116,36.736736736736759,84.38438438438439,38.33833833833836,-13.113113113113101,87.187187187187192,-51.951951951951948,-37.737737737737731,-85.18518518518519,73.373373373373397,-60.16016016016016,47.947947947947966,-56.956956956956951,-7.5075075075074977,46.746746746746766,-97.997997997997999,-19.51951951951952,69.16916916916918,24.524524524524537,52.952952952952955,52.152152152152155,-74.574574574574569,-27.127127127127125,-44.344344344344343,-21.921921921921921,28.728728728728726,4.50450450450451,-8.7087087087086985,57.757757757757759,-98.998998998998999,-41.541541541541541,91.991991991991995,-48.148148148148145,27.727727727727739,5.5055055055055107,-29.929929929929926,-80.780780780780788,37.53753753753756,-93.393393393393396,-87.987987987987992,-13.713713713713702,15.115115115115117,-37.337337337337331,-81.781781781781774,-94.594594594594597,-16.916916916916918,84.984984984985005,-25.925925925925924,83.183183183183189,1.7017017017017082,-45.345345345345343,70.770770770770781,-11.7117117117117,-47.547547547547545,-18.918918918918919,75.775775775775799,96.396396396396398,88.588588588588607,77.7777777777778,-16.516516516516518,32.932932932932943,35.53553553553553,-70.970970970970967,81.981981981981988,60.16016016016016,-30.330330330330327,90.190190190190208,-52.552552552552548,63.963963963963977,-84.584584584584576,80.180180180180201,7.1071071071071117,-3.9039039039038954,14.714714714714717,54.354354354354371,-88.588588588588593,30.130130130130141,-65.765765765765764,93.593593593593596,-98.598598598598599,-42.342342342342342,-98.198198198198199,-50.350350350350347,-96.396396396396398,72.572572572572597,18.918918918918919,31.931931931931928,-84.78478478478479,-59.75975975975976,21.321321321321335,-76.17617617617617,30.730730730730727,97.597597597597598,-7.1071071071070975,19.919919919919934,71.171171171171181,77.977977977977986,32.332332332332328,9.109109109109113,-18.518518518518519,-79.579579579579587,-96.596596596596598,-56.15615615615615,27.527527527527539,67.767767767767765,14.314314314314316,86.786786786786791,-80.380380380380387,87.987987987987992,53.55355355355357,16.316316316316318,45.145145145145165,-4.3043043043042957,-14.714714714714717,-12.712712712712701,-41.141141141141141,-46.746746746746744,-77.377377377377371,-72.372372372372368,40.140140140140147,49.949949949949968,-68.568568568568566,-83.383383383383375,87.787787787787806,28.328328328328325,78.5785785785786,82.782782782782789,-75.57557557557557,-64.964964964964963,-56.756756756756751,-20.52052052052052,55.155155155155171,-41.341341341341341,4.7047047047047101,-35.53553553553553,-30.530530530530527,33.533533533533529,77.177177177177185,-17.117117117117118,-0.50050050050049322,-61.561561561561561,59.35935935935936,-28.728728728728726,-87.187187187187192,17.517517517517518,32.532532532532542,12.312312312312315,47.147147147147166,8.5085085085085126,-22.322322322322321,-27.327327327327325,14.514514514514516,69.56956956956958,-0.10010010010009296,6.7067067067067114,-32.532532532532528,4.3043043043043099,18.518518518518519,-59.159159159159159,-73.373373373373369,-43.143143143143142,-44.144144144144143,-7.7077077077076979,13.313313313313316,-18.718718718718719,41.741741741741748,48.348348348348367,86.386386386386391,25.525525525525538,-62.762762762762762,-43.743743743743742,86.586586586586606,-78.978978978978972,-28.528528528528525,-97.397397397397398,25.725725725725738,6.3063063063063112,-14.514514514514502,-72.772772772772768,8.7087087087087127,-88.388388388388393,60.56056056056056,-69.369369369369366,-41.741741741741741,-51.751751751751748,97.197197197197198,-49.949949949949946,-19.119119119119119,-13.913913913913902,52.552552552552555,-33.733733733733729,-3.1031031031030949,44.744744744744764,39.539539539539561,55.755755755755757,-57.957957957957959,74.174174174174198,86.186186186186205,-80.980980980980974,12.112112112112115,-28.328328328328325,-2.9029029029028948,1.5015015015015081,-33.333333333333329,23.923923923923937,-93.593593593593596,16.116116116116117,-58.558558558558559,-40.140140140140133,12.912912912912915,-76.376376376376371,-49.149149149149146,-41.941941941941941,4.9049049049049103,50.350350350350368,-63.563563563563562,-49.549549549549546,6.106106106106111,-12.312312312312301,-3.5035035035034952,-97.797797797797799,-3.7037037037036953,-63.163163163163162,-13.313313313313301,76.376376376376385,-53.953953953953949,26.926926926926939,55.555555555555571,-87.587587587587592,8.9089089089089128,42.742742742742763,76.176176176176199,-67.767767767767765,-23.723723723723722,-23.923923923923923,54.754754754754771,92.592592592592609,-10.5105105105105,44.14414414414415,-81.381381381381374,-45.745745745745744,95.595595595595597,-72.972972972972968,-0.90090090090089348,-6.1061061061060968,40.540540540540547,71.571571571571582,37.337337337337345,59.75975975975976,92.792792792792795,-65.165165165165163,68.168168168168165,76.576576576576599,-18.118118118118119,32.132132132132142,-73.573573573573569,64.164164164164163,-15.115115115115117,51.951951951951969,75.975975975975985,88.988988988989007,-30.130130130130127,61.561561561561575,76.776776776776785,-69.969969969969966,-66.766766766766764,-34.93493493493493,45.345345345345351,-95.595595595595597,-43.543543543543542,-89.789789789789793,13.913913913913916,34.934934934934944,56.356356356356372,-18.318318318318319],"expected":[1.4895580499942569e-15,0.011561132700225301,0.0049066915709719012,0.0013734478060631833,0.0083285887545340095,0.023672726573028196,0.010410731180840417,0.015302459834716869,0.012529899096788925,2.3702068128283305e-13,0,1.3108797986742978e-149,2.3764493468514549e-49,1.8518563399765315e-46,0,1.0327657845409406e-10,0.0048590018386510947,4.4286349411010024e-25,4.4840342042142475e-29,3.393194543845217e-20,1.7297910543905998e-35,0.038722106892386268,0.0024878419986672676,0.012578959173871073,0.0067537285977583971,0.015809762805567104,2.0374101388065418e-08,1.5343882552565391e-18,0,0.0049977363567803102,0.017287592707646082,0.0064475580569471284,7.6124512789911129e-48,6.650358423960012e-09,0.0071091050537922824,0.037516748387870856,6.8593186021098792e-05,4.0037864649127732e-10,0.007921128637310584,6.8434127334447123e-130,3.3777825612627342e-49,0.0044383031764712302,0.0072423548466775556,0.00075681529621945509,0.0078537717504698502,0.011880577267735219,0.0060855922590326295,8.4819833555826958e-05,0.0051409460375143748,2.6975238198653844e-24,1.6961946878648227e-47,1.8303430228443429e-26,0.00017969420505870053,0.0081663797482568468,0.0038431752706381043,9.8648350231418166e-09,0.0023148747778700958,0.0056640975843551189,0.00099401287528749728,0.0062717930872972557,5.5181973331726038e-09,4.485376193092389e-08,0.0010453656386693198,3.7938782509338277e-18,1.2869993219772011e-88,0.0069708707615487794,1.2040096418560279e-15,3.5232963556353521e-39,3.3841328698380972e-16,2.1907869733364186e-39,0,4.770341936194797e-11,1.2097556272567067e-11,0.0059651097164721964,0.0063595608851876326,0.0031927244046716457,0.00032411019645558228,1.8656694854186684e-13,0.0091812670600291534,0.018050656935216902,0,0.013804458724900867,5.7713290064554962e-21,0.0048756856661873703,0.0049628404252082137,0.011486544240734425,5.85622876431271e-09,5.9755472404208935e-169,2.5854895826527428e-61,0.0059030389856197588,0.0099691739943311933,0.0032875678063038882,0.004768379897481031,0.0042043580595807579,1.7699021001233361e-07,0.001482101619335982,0,0.013465662627911925,4.88624223160319e-21,0.0033530202569759305,0.0066470346965790562,0.012581101203033122,0.007453940347165333,8.526439955617478e-09,0.0076723555289382704,0.0019618363691022876,0.011577512419653295,2.6178792058320156e-17,0.0018724881846223832,0.0071461721654975099,3.2042603086999102e-78,0.012730359046583942,1.1705444428316799e-162,1.5979568747648242e-13,4.9815864343352195e-233,0.00032618386191342439,2.6015852460544247e-06,4.5743735445516069e-68,0.0055884468463958704,0.036617023036579072,7.956281771334531e-07,1.8193569897974538e-214,1.2867334381768783e-251,0.011138592339249234,0,5.3487006475091291e-07,0.0089003140087742794,1.4693931428314937e-29,0.0082846476251625441,0.0075245045327978904,0.0040134345796607272,0.0072393833542403934,1.0968888365206802e-06,0.0061118560963451043,0.0055552536344361751,1.6623787739602739e-73,0.0041238637748117202,9.9417855440517389e-20,0.00017310868543360972,0.027195905481908894,0.008517253916979205,9.6172895144884802e-13,0.001816513303019917,0.0069377898628736933,0,3.5883039411764639e-06,1.2764451446050319e-46,2.6121173900185167e-10,0.0058109619736629054,0.0095195277616909012,0.01382878228416547,0.00026731331634134866,3.6911383396366165e-22,0.0069424579381618242,0.009882353383402832,4.2298420871889513e-159,0.0050943783774986479,0.0050797082333137959,0.0019619951583188292,0.00076462488318367028,1.2677899014904232e-07,0.0019453763044371467,0.018202839354180791,0.017218412170369707,0.0052691945856430901,0.00030925135430762433,0.015400265151595151,8.89696747483709e-05,0.0017315601366266345,8.5840112954064798e-37,7.5804147415893151e-85,5.5760817164615745e-132,2.0853189316023551e-43,0.013732631172683611,7.3502758656688703e-07,2.0586693370556823e-124,0.011801633566606204,0.022099449019034257,0.0073242502364301897,4.7368815572366824e-06,1.4476095586754677e-184,0,5.2611881417055763e-12,0.0029715362207443819,1.8857412338859323e-08,7.248366185866381e-99,0.0010616609775865617,9.0359616344947842e-32,8.9314749424981088e-112,0,0.014276710508370743,2.2986292592210979e-33,0,6.8662469513176547e-12,6.151619108756117e-26,5.7714645030479864e-72,0.0056435126119331047,0.0022954615279441228,0.005533346830476204,1.4193499514138811e-29,4.687065593071419e-147,0,4.5855663637416112e-55,6.5770191251746265e-26,0.010359009035570641,0.018359854068852492,0.0053592578148551357,0.00259759839845532,2.5997021840106858e-07,3.7790003496615853e-07,2.8696988852579158e-153,0.0050632471412810345,0.0049234395508483226,3.2785011209806634e-05,1.0462041749588922e-18,0.0039140194038470915,2.7202228324540796e-229,0,1.0197804816342874e-12,2.1008446896238388e-05,0.011479372800153511,0.013309164200952179,7.0472239972921312e-226,2.0215191792541692e-34,1.0168640460607886e-16,0.0010763161694112035,2.2525311159647113e-289,0.033323228744812937,8.6842752813744353e-41,0.0024722506325385038,1.280829678745961e-13,0.0012972999903942746,5.6588473042105835e-14,0.014455311239014848,0.0081753968725512619,0,0,2.3456497723212431e-12,4.42786962395819e-13,0.011113455015974496,3.3199350137819046e-12,0.0029727609687460648,6.4929039630156735e-74,0.0076463656157943708,0.010741615040621865,0.00071774267140064325,0,4.3305349716790589e-44,1.0215771993865311e-274,1.2106755280395898e-06,0.0069012019794857859,1.123073269570353e-05,0.0015674150756082197,0.00085260228920351307,1.0975757572038617e-77,0,0.005346843063023644,1.071785468824123e-21,0.010427393901138988,2.8566380059891749e-288,5.5820076180000284e-25,0.0096364714498523678,0.011675585918753511,0,1.9964761895711094e-116,0.012635698446234892,0.078963213290815987,0.0033263862389210737,0.0075640173864021986,2.57055857971746e-223,0.0069208128605781983,0,3.4824133682995335e-58,9.1122788977020909e-05,4.8426865447144306e-44,0.0074682852686172637,0.032376537044847234,0,3.7849759254558e-177,0,0.0084988779178584301,0.0042751353945563184,0.0039425642721954198,0.0092637855216437942,0.009028189579945561,9.7604078109931065e-79,0,2.3100233691969932e-05,0,0.0054513175516708711,0.0046222743362788841,4.1131687419898106e-19,1.31820405764675e-10,0.014140431080000857,6.3506112458595924e-14,0.0072334572441377955,2.829690557675668e-08,0.0025327993926254353,0.087148536829635595,2.5050842050922709e-125,0.020364345800207379,0.0018888101796398532,0.0029221925609405927,0.012052475120448462,2.4722387626966827e-56,0.0056241645725916044,0.12441865751708307,1.7048290294453161e-35,1.8370266429504383e-05,5.5405200877302621e-06,0.00022271432728911003,1.3732206718352668e-06,1.1956030017539172e-103,0.0086385615770580328,0.0090562539779064297,1.1667542198357379e-21,0.00036351703348344415,0,2.8253580038952017e-21,0.0025344977430177425,2.4204817807938874e-09,0.00013470203544939545,1.1854429791000588e-06,0.0034082949696397137,3.5009255707135862e-10,7.2605722100480189e-08,0,0.010026462130555958,1.6696721535842433e-06,0.0028823762116966527,7.7904155659594108e-66,0.0064087105383712805,4.8248679240102882e-41,0.0057082212981341219,3.1513274216419965e-53,1.9789955262318635e-05,1.3885933957650752e-36,0.0050844110838399875,0.013193370600387099,1.0244187305780458e-72,7.5582373536660304e-20,0.00011001612867618939,0.0069814050968410452,0.0024394805427904293,1.01185422471834e-47,1.2493465095748815e-37,3.6142929025330399e-60,0.041311843096051751,7.446655040009467e-05,2.9710429766752708e-100,1.5018959730710147e-17,0.0049723946139629731,5.9338905090575499e-241,0.0092087334958786665,0.0059179937609776679,1.1222698797164358e-14,8.4003587722875152e-63,0.0095767833311560888,0.0021779931570713867,4.1232822294194652e-41,0.0057813044959883686,1.3731213197944249e-118,0.00017971617603818347,5.8061901856688347e-05,6.4911766183249062e-65,1.7431170077328399e-163,3.3319454594416763e-37,0.0012933206502624614,0.0003544853251984737,0.0020451896631047753,5.2268785522240947e-10,6.1112791161140566e-35,0.00096177271102007957,0,0.0091917572731362047,0,3.6930097612858863e-92,2.8073263646067085e-93,8.2040653496112958e-46,7.2582183418522235e-16,0.012685052464160696,1.4948394857836324e-06,0.02377639167491143,0.0087229010808322488,5.1863899015753072e-23,0,0.0068449933016103996,8.1256923306301089e-111,0.00276731818342911,0.0059719187773244744,4.4020335662321687e-06,2.6588641279432296e-41,0.0044510113861411594,8.9906265764742887e-227,7.4419619600457642e-91,0,0.00508076396735969,0.011478436913186604,2.1375396755640661e-12,1.9533712076412542e-97,0.0065251735636230306,3.0260497392677671e-48,0,5.7522631723243197e-05,0,0.004633958456012395,3.6901308087195636e-07,0.0014180353369700335,1.0643675603731502e-26,2.7476207159324641e-32,2.8023429906656204e-247,0,1.2554966439100024e-17,1.9008544247684734e-23,0.01153975427810917,0.0052734176322826627,1.0894398957395355e-35,0.0086085072514494616,0.0068493548214861354,0.0032184326277742161,0.0088069419341212027,1.4066288764185424e-38,1.1267598145812201e-06,4.6926874768247239e-211,0.00096684656495423188,0.00092553145442238714,0.008966500360248035,0.0086386977759326678,0.0085385098730605159,0.01563595430866627,2.8550472378910043e-13,0.009867517274761279,4.9052644423168014e-54,3.1539664817804944e-05,3.6044888013272777e-58,0.0016901964597759156,1.1854784720626409e-08,4.4959591054196104e-43,6.2804220456993099e-22,0.0062055897862026022,7.0786268488037243e-39,0.0023071103772798374,0.0053431327431447484,5.9688778936043057e-29,0.021834935346706184,8.4469839950466194e-23,6.6480160196706179e-72,1.6254523073276804e-56,0.011728138890897577,0.0030946321875480643,0,0.0070642590527344512,0.0096243145339745331,0.0050184455555054306,1.5476515984265108e-07,1.6247460378127665e-10,0.031871399121028883,2.7572679877531265e-48,1.9777897802303205e-09,0,4.3681583450290506e-05,0,0.0011995277791783591,2.2559816427738551e-16,0,6.4219190339000952e-05,0.0061656853323585406,6.3173986148527553e-32,0.0075688554012331216,0.010804094444842118,0.011271138375326027,2.3737071408247439e-45,0.0022239450043624789,0.0075862889155984053,5.4879210656082683e-17,0,0.0032465337544463077,4.4021383996310954e-78,2.6986880296666784e-05,1.9068590061702339e-14,0.00019614270992048292,0.0022646411013739756,0.024603018667752715,3.7081819100087412e-37,2.4416288461478835e-38,0.0053292233381378009,0.0098981447282311657,0.0061730711347898603,0,6.6272163685340903e-12,0.0024117403788025782,0.0071270664799661975,0.0001264118276786541,0.00328453002336637,0.0037164812206703841,0.0010855891046500055,0.0096826824052277417,2.0788941872856618e-74,2.1155133052817375e-111,0.0047021551128680747,0.012250680100059069,7.5382577753797242e-05,5.4038322322102235e-44,0.0019167003790034854,0.010654688039228507,0.0041216930070579368,4.9362674909550213e-16,2.3717791831719617e-18,0.0036339282900170991,2.9711199636685054e-21,0.0052665607659049835,0.03521301973273859,0.023419887716923108,0.00010254794259207832,0.01605299997150731,0.0053992297945378628,0.010203120630638643,0.0080240314544910429,2.5500934283244969e-06,0.034430012014627531,2.6952953986550709e-11,0.0047531937044193546,0.0086047541227174344,0.011779306549532249,9.0174615165106395e-18,0,7.2572966380185657e-252,0.00057714995505107642,4.0434422993446132e-20,1.4784768469834197e-133,1.2719115570896836e-73,2.359751168674444e-05,0.0023348857793238998,2.9934219802242961e-24,0.0063920481060492935,0,0.0182649758728111,0.00018222395563894373,0,0.011566348596082222,1.0063942836982917e-46,0.0087987970906238267,0.0068560300297699018,0.0012057198366868381,0.005137166551695326,0.00041273921887497291,7.0456773024070834e-12,0.0089525131250252823,0.0065932916352088779,0.044740154252132187,0.0059976100613778477,0.0011837445564946644,0,1.9356023268865742e-05,1.9221342716076436e-56,0.025297831751604074,0.0061187788930979134,0.0070532969637309446,3.8272333609973609e-31,0.0070333162666288028,0.0040584301558966125,3.3878081159752911e-28,1.6134748290581796e-131,7.7064532532049515e-33,0.0019641053533398945,1.0915502691720027e-05,1.172599415399763e-17,0.0011423393211353143,5.5597539240422044e-11,2.7171180469856279e-143,4.0475990049443928e-06,0.017547611223842883,6.253017979249308e-09,7.9092885056420906e-13,8.2622156280056523e-133,1.880575800869123e-17,0.0041717872784936862,1.1086592781855567e-06,0.0080202426873317977,5.1759664449421728e-15,1.8855018586684373e-06,8.3347667786020785e-31,9.1921586500631115e-69,8.2041448760695954e-13,0,1.6638872629064372e-76,1.4246207511971033e-122,0.0001082531775433621,4.3760132075554119e-24,1.5681749391379962e-58,0.013015031150216856,0.0050948515871210012,7.8163237098912697e-158,2.883972530341362e-18,0.0043567040570343012,3.8085630131860437e-108,1.951869738303455e-33,2.3677207226968673e-239,0.0071941226203716072,0.0028945597562091943,0.016107226207276965,2.4005435991539948e-40,0.0083243148947576649,0.0046956561737821227,0.017707344359140804,1.3987929880946101e-185,1.0021575600542849e-17,0.0074612808454547945,0.0075375562492985418,1.0569068829648366e-08,0.004549179310014851,0.0081968845316947678,0.0083456139850044287,0.00885009797611753,0.0067863579385145263,1.8965274550873003e-56,0.0019905506034772918,2.5901630529495688e-15,0.015519744726473992,9.6571498869121294e-52,0.0070117312865782787,0.0049936099690662582,0.0072062765190256022,0.015624903792881673,0.0057590265611537376,2.5844317293399668e-37,2.5197950160940447e-22,0.011448436639361929,0.00024603726382985467,0.00012351881626818982,0.00018700162231708952,0,4.7648813693237443e-51,9.1705884070344316e-08,0.0090837118050935972,0.0080443541736425119,1.4178905186741687e-05,1.5043361948084344e-06,0.0063080822566274689,0.0078988443204185306,0.0059051628486001036,0.0075718578106291406,0.0055698944886391245,0.004565956749867049,1.346799312834805e-253,0.015623815101682632,0.001687585473417271,0.00075370758648991355,7.6201198386752558e-06,0.0084110466261843597,0,0,2.267778392093274e-264,3.013071882513817e-28,0,2.7571854769078748e-16,0.0041813559458108492,0.0039308479198104269,0.006215330148611314,4.1275571082665208e-238,0.015205947043669286,6.2598148436973784e-11,2.1816876743704518e-07,6.9028611767395421e-06,1.0219270097954021e-05,0,0.013028743572951716,6.6271678585980569e-11,5.4660078269862397e-58,0.0034225225723830428,6.3155020601429968e-23,7.2567187358553315e-08,6.0183993701215863e-31,0.0064911223404292787,1.0363862049492893e-13,0.018886352845367875,0.0021141813737081032,0.012607800953344966,8.142673636649626e-57,0,1.3328854044861159e-09,0.012493789483808495,1.4352355257105313e-80,0.0090057539153128412,0.0068546495699576149,2.9756072108994776e-18,0.003666403761543079,2.9686567001550424e-16,0.0016815283078787839,0.0055993398725915754,3.4657658480188644e-06,0.00091849116439079266,2.2924758808774833e-07,2.2985052674578473e-17,1.536295433243157e-55,0,3.9110336158678426e-07,0.007734615337329674,0.0075904352103822615,0.0016051789548233843,8.4556966492294546e-09,0.0033710189211372905,0.0042012488322361648,0.0036175448587140728,0.004311659405748354,0,7.2704010560012206e-20,5.4726265334052988e-07,0.0079832317144168698,0.00426961971749437,0.00017114417373527169,3.1025102502288566e-46,0.0056405809160352026,4.6036241540525238e-60,0.0096469684226240422,0,0.0049740978502013427,1.3572030964818635e-25,6.0220888003743179e-10,0.032134669625972889,1.6674444312590214e-37,0.0064013142973714165,0.010231760910997411,0.00024733060658829265,0.0035721402848690742,0.0052462511482563763,0.00071792480492672076,0.0051994560992111418,9.4892285836392683e-139,0.0061193112660248858,0.0060795391010137314,4.8390790727023981e-225,2.2025644279723651e-30,0,0.005858940047603553,0.0073199935853070245,0,0.0053683933872062401,0.0035750964042828579,1.1977635789097146e-139,5.2972481538006728e-47,0.017870663194781901,0.0044258795841423367,2.3334917787361977e-17,0.0063592188581448952,0.005116695445826212,9.8827431744045868e-08,0.0099730770821901873,7.2187174327387819e-06,1.0572059326370538e-07,0.014858307694338201,8.5893593274639502e-37,1.0827304031846135e-05,5.6066536056679349e-52,3.6491142843460249e-200,0.00065884707825635208,1.4035353168812487e-69,4.5762392740504691e-09,7.0193719330774584e-30,0.0010456892074115684,0.00011017860098447436,0.0049721821003220834,0.00046942846311372633,0.00051633902030217638,4.0543712600929302e-122,0.004703693230658024,0.00078859929462054136,0.011627559817058052,0.0065353392410672072,0.005668358885486678,0.012287820418690573,0,0.028243483998843393,0,0.010878789181793559,7.8060962414426925e-12,0.0045944398919397916,8.4179065984259267e-198,1.1384631996651848e-28,0.0061823108518268312,0.0024357123517539559,0,0.0046885985923252917,0.0054841743153450336,0.010739322881920419,0.0022064734827690661,4.2879255697125348e-13,6.0105842755705312e-16,2.1915210616397101e-273,0.004087247053746146,0.012128717203761663,3.0338547548320967e-226,0,0.0051437172457226722,0.0009859068048063851,1.0676085386155619e-29,0.01111074959560358,0.011687626618013347,0.011050634829573006,1.2879876675447442e-16,1.627895783111864e-96,4.6631442540306829e-62,1.2366952617167864e-34,0.0053376576916694795,5.7979944053711272e-07,3.1695529899106331e-24,6.8093917133547384e-82,0.00019592053496971117,0.0047652833881778774,0.0067512768058142839,0.011465551255635125,0.013305898244912335,0.00022707030925798761,6.3047148737417527e-49,0.032563903137875008,0.0071477405567852963,0.012840797599365369,3.5676753001902707e-08,0.0044112682569788335,0.012347340226592909,0.0060923345195961955,0,8.1922662014916291e-10,3.2535035977601864e-10,0.00010410398527459512,7.8110354877455375e-27,0.0049193347271730683,3.1856904593359537e-06,6.2357824226923979e-41,0.0069759407346489943,0.0032874689679107333,0.0053281648337503949,0.0058077637339590295,4.4673997818709075e-81,0.00019690412463581572,0.0015698318186146958,0.00067598349453738599,0,9.5527283044582144e-12,4.4577137365179322e-174,5.7434893409716778e-05,1.9818552781547735e-12,1.2385605504759155e-12,0.0064576642712556422,0.0039575883206577483,0.0025678820492204329,3.2586894552452169e-05,0,0,0.010601257046698726,0.00014558540801621421,2.1839868597905473e-13,0.00014753399056358839,6.4650959457113033e-42,1.2626418772205196e-08,0.011595529059939684,0.0048991757520466016,0.0077917262987627954,0.0015919741269928716,0.0045043563376445479,0.0089089326925150345,0.0017738061144486901,0.0060865051814342017,0.020413600742880521,4.7904406310547061e-09,0,4.5490076589482735e-50,0.0010423878869586043,0,0.0050221357785703198,0.010060710537960028,0.0033699849562486102,2.7464647676940886e-17,0.011745597689744397,0.0011236327632173468,5.9796298933693084e-08,0.0016075196918040879,6.1649325116892014e-15,0.20402500527246092,0.05301716822958414,1.1245552955240031e-19,0.0049454981831158528,0.010414764693073956,1.9927761217863705e-09,0.0059801155471507737,0.0098892104532603414,0.0047689637615316357,0.0029342204424800643,0.0080506721812304369,0.016739728035668842,0.010052813285297557,3.6071736884617933e-13,8.6836746241867679e-22,0.00015716029391327828,0.00042778828124483603,1.0449256651613703e-05,0,8.8981109488156515e-11,4.5354933963621797e-66,0.00025904379330369404,0.00021798186518077477,0.0054479838301625585,0.0068887371964549632,5.1583903965336406e-89,0.029172486421270197,0.0021551158755579239,0.0068737584899668421,0.0011572754016635483,0.0097626745910210713,0,2.0935990952971237e-235,4.6193688523117863e-05,0.0001434784723812732,0.0063881354539088633,0.0080353092916570171,0.0087423026850053532,0,0.0074495298471281531,2.7247851465705536e-199,7.9483651159792513e-71,1.4200269130296213e-38,1.0223096619968926e-05,1.0075087186640987e-83,3.4099451840321027e-114,9.9509998841629713e-05,0.014821415479113515,0.017551626767441715,0.0041767343873163783,4.7156149155052945e-42,5.7647898822956665e-18,1.3007508354036492e-07,0.010481291474924851,5.4345771490540281e-110,3.0019025729171921e-26,6.3563987859353246e-21,0.00034275997406635084,7.6614194139729139e-74,3.3618991687555541e-78,0.020596623466419897,0.0091265911147904687,6.7092847076880338e-06,0.0074670782755882226,0.011372727507844571,0.0042969492121974189,0.0051397135457581702,3.3461345026577711e-138,0.0069126704207526646,7.4725170545637619e-13,0.019498974728906781,5.1433356002945582e-05,1.9366199687086781e-38,0.010324818676366615,0.0052016930648418223,0.00077041626682988035,0.0085554198247665188,0.0074335356627440391,0.0027686312381089867,2.9047034057901458e-36,9.0185329746035636e-20,0.00014602721448774063,0.0062568386449796841,0.0053431782959774132,0.00014415184627679644,0,0.00071398240583969014,1.5366960599372943e-24,5.9804089298872508e-05,4.4685138620573987e-05,0.0099195016745930488,0.0030606457211702722,4.5016921949297686e-13,3.1472643219597009e-203,2.1188616336381493e-164,5.0576649951778766e-09,0.00060321730064086818,0.0074887618869331363,4.272121122512006e-38,0.00052472336968943981,0.034491653087020416,0.0101741868615837,9.0102470910278048e-49,0.0071753040114461543,0.010291087861756427,3.8006989958596175e-96,3.1643035867302483e-67,9.1885900046959419e-06,0.0074628797058229109,0.0055160722435918328,0.00071473043904987535,0.00024054678501877265,3.990067408612705e-17,9.2830235827363311e-22,2.9379487394676359e-22,6.4109446550719672e-102,2.6219691686336026e-31,1.4096029572032664e-05,0.039413917944474922,8.2191693426349113e-06,0.0085205538058721608,1.1167508660255415e-06]} diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/fixtures/r/runner.R b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/fixtures/r/runner.R new file mode 100755 index 000000000000..58320580864a --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/fixtures/r/runner.R @@ -0,0 +1,99 @@ +#!/usr/bin/env Rscript +# +# @license Apache-2.0 +# +# Copyright (c) 2024 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Set the precision to 16 digits: +options( digits = 16L ); + +# Set the PRNG seed: +set.seed( 200L ); + +#' Generate test fixtures. +#' +#' @examples +#' main(); +main <- function() { + #' Get the script filepath. + #' + #' @return The absolute path of this script + #' + #' @examples + #' filepath <- get_script_path(); + get_script_path <- function() { + args <- commandArgs( trailingOnly = FALSE ); + needle <- '--file='; + match <- grep( needle, args ); + if ( length( match ) > 0L ) { + # Rscript: + filepath <- sub( needle, '', args[match] ); + } else { + ls_vars <- ls( sys.frames()[[1L]] ) + if ( 'fileName' %in% ls_vars ) { + # Source'd via RStudio: + filepath <- sys.frames()[[1L]]$fileName; # nolint + } else { + # Source'd via R console: + filepath <- sys.frames()[[1L]]$ofile; # nolint + } + } + return( normalizePath( filepath ) ); + } + + #' Convert a data structure to JSON. + #' + #' @param x A data structure to convert + #' @return JSON blob + #' + #' @examples + #' x <- seq( -6.5, 25, 0.5 ); + #' json <- to_json( x ); + to_json <- function( x ) { + return( jsonlite::toJSON( x, digits = 16L, auto_unbox = TRUE ) ); + } + + #' Generate an output absolute filepath based on the script directory. + #' + #' @param name An output filename + #' @return An absolute filepath + #' + #' @examples + #' filepath <- get_filepath( "data.json" ); + get_filepath <- function( name ) { + return( paste( source_dir, '/', name, sep = '' ) ); + } + + # Get the directory of this script: + source_dir <- dirname( get_script_path() ); + + # Generate test fixture data: + mu <- sample( seq( -10.0, 10.0, length.out = 1000L ) ); + sigma <- sample( seq( 0.1, 100.0, length.out = 1000L ) ); + alpha <- sample( seq( -20.0, 20.0, length.out = 1000L ) ); + x <- sample( seq( -100.0, 100.0, length.out = 1000L ) ); + y <- sn::dsn( x, mu, sigma, alpha ); + + data <- list( mu = mu, sigma = sigma, alpha = alpha, x = x, expected = y ); + + # Convert fixture data to JSON: + data <- to_json( data ); + + # Write the data to file... + filepath <- get_filepath( 'data.json' ); + write( data, filepath ); +} + +main(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/test.factory.js b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/test.factory.js new file mode 100755 index 000000000000..7fb1747298e9 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/test.factory.js @@ -0,0 +1,200 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var abs = require( '@stdlib/math/base/special/abs' ); +var PINF = require( '@stdlib/constants/float64/pinf' ); +var NINF = require( '@stdlib/constants/float64/ninf' ); +var EPS = require( '@stdlib/constants/float64/eps' ); +var factory = require( './../lib/factory.js' ); + + +// FIXTURES // + +var data = require( './fixtures/r/data.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof factory, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns a function', function test( t ) { + var pdf = factory( 0.0, 1.0 ); + t.equal( typeof pdf, 'function', 'returns a function' ); + t.end(); +}); + +tape( 'if provided `NaN` for any parameter, the created function returns `NaN`', function test( t ) { + var pdf; + var y; + + pdf = factory( 0.0, 1.0, 0.0 ); + y = pdf( NaN ); + t.equal( isnan( y ), true, 'returns NaN' ); + + pdf = factory( NaN, 1.0, 0.0 ); + y = pdf( 0.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + pdf = factory( 1.0, NaN, 0.0 ); + y = pdf( 0.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + pdf = factory(0.0, 0.0, NaN ); + y = pdf( 0.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + pdf = factory( NaN, NaN, NaN ); + y = pdf( 0.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + pdf = factory( NaN, NaN, NaN); + y = pdf( NaN ); + t.equal( isnan( y ), true, 'returns NaN' ); + + t.end(); +}); + +tape( 'if provided a finite `mu`, `sigma`, and `alpha`, the function returns a function which returns `0` when provided `+infinity` for `x`', function test( t ) { + var pdf; + var y; + + pdf = factory( 0.0, 1.0, 10.0 ); + y = pdf( PINF ); + t.equal( y, 0.0, 'returns 0' ); + + t.end(); +}); + +tape( 'if provided a finite `mu`, `sigma`, and `alpha`, the function returns a function which returns `0` when provided `-infinity` for `x`', function test( t ) { + var pdf; + var y; + + pdf = factory( 0.0, 1.0, 10.0 ); + y = pdf( NINF ); + t.equal( y, 0.0, 'returns 0' ); + + t.end(); +}); + +tape( 'if provided a negative `sigma`, the created function always returns `NaN`', function test( t ) { + var pdf; + var y; + + pdf = factory( 0.0, -1.0, 0.0); + + y = pdf( 2.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( 0.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + pdf = factory( 0.0, NINF, 0.0 ); + y = pdf( 2.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + pdf = factory( PINF, NINF, 0.0 ); + y = pdf( 2.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + pdf = factory( NINF, NINF, 0.0 ); + y = pdf( 2.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + pdf = factory( NaN, NINF, 0.0 ); + y = pdf( 2.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + pdf = factory( 0.0, NINF, PINF ); + y = pdf( 2.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + pdf = factory( 0.0, NINF, NINF ); + y = pdf( 2.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + pdf = factory( 0.0, NINF, NaN ); + y = pdf( 2.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + t.end(); +}); + +tape( 'if `sigma` equals `0`, the created function evaluates a degenerate distribution centered at `mu`', function test( t ) { + var pdf; + var y; + + pdf = factory( 2.0, 0.0, 1.0 ); + + y = pdf( 2.0 ); + t.equal( y, PINF, 'returns +infinity for x equal to mu' ); + + y = pdf( 1.0 ); + t.equal( y, 0.0, 'returns 0' ); + + y = pdf( PINF ); + t.equal( y, 0.0, 'returns 0' ); + + y = pdf( NINF ); + t.equal( y, 0.0, 'returns 0' ); + + y = pdf( NaN ); + t.equal( isnan( y ), true, 'returns NaN' ); + + t.end(); +}); + +tape( 'the created function evaluates the pdf for `x` given parameters `mu` and `sigma`', function test( t ) { + var expected; + var alpha; + var delta; + var sigma; + var pdf; + var tol; + var mu; + var x; + var y; + var i; + + expected = data.expected; + x = data.x; + mu = data.mu; + sigma = data.sigma; + alpha = data.alpha; + for ( i = 0; i < x.length; i++ ) { + pdf = factory( mu[i], sigma[i], alpha[i]); + y = pdf( x[i] ); + if ( y === expected[i] ) { + t.equal( y, expected[i], 'x: '+x[i]+', mu: '+mu[i]+', sigma: '+sigma[i]+', alpha: '+alpha[i]+', y: '+y+', expected: '+expected[i] ); + } else { + delta = abs( y - expected[ i ] ); + tol = 5300.0 * EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. mu: '+mu[i]+'. sigma: '+sigma[i]+'. alpha: '+alpha[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/test.js b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/test.js new file mode 100755 index 000000000000..7d948ef6f138 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/test.js @@ -0,0 +1,38 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var pdf = require( './../lib' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof pdf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'attached to the main export is a factory method for generating `pdf` functions', function test( t ) { + t.equal( typeof pdf.factory, 'function', 'exports a factory method' ); + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/test.pdf.js b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/test.pdf.js new file mode 100755 index 000000000000..7443a0615e76 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/skew-normal/pdf/test/test.pdf.js @@ -0,0 +1,177 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var abs = require( '@stdlib/math/base/special/abs' ); +var PINF = require( '@stdlib/constants/float64/pinf' ); +var NINF = require( '@stdlib/constants/float64/ninf' ); +var EPS = require( '@stdlib/constants/float64/eps' ); +var pdf = require( './../lib' ); + + +// FIXTURES // + +var data = require( './fixtures/r/data.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof pdf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) { + var y; + + y = pdf( NaN, 0.0, 1.0, 0.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( 0.0, NaN, 1.0, 0.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( 0.0, 1.0, NaN, 0.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( 0.0, 1.0, 0.0, NaN ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( NaN, NaN, 1.0, 0.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( NaN, 1.0, NaN, 0.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( NaN, 1.0, 0.0, NaN ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( 1.0, NaN, 0.0, NaN ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( 0.0, 0.0, NaN, NaN ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( NaN, NaN, NaN, 0.0 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( NaN, NaN, 0.0, NaN ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( NaN, 0.0, NaN, NaN ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( 0.0, NaN, NaN, NaN ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( NaN, NaN, NaN, NaN ); + t.equal( isnan( y ), true, 'returns NaN' ); + + t.end(); +}); + +tape( 'if provided `+infinity` for `x` and a finite `mu`, `sigma`, and `alpha`, the function returns `0`', function test( t ) { + var y = pdf( PINF, 0.0, 1.0, 0.0 ); + t.equal( y, 0.0, 'returns 0' ); + t.end(); +}); + +tape( 'if provided `-infinity` for `x` and a finite `mu`, `sigma`, and `alpha`, the function returns `0`', function test( t ) { + var y = pdf( NINF, 0.0, 1.0, 0.0 ); + t.equal( y, 0.0, 'returns 0' ); + t.end(); +}); + +tape( 'if provided a negative `sigma`, the function always returns `NaN`', function test( t ) { + var y; + + y = pdf( 2.0, 0.0, -1.0, 0.1 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( 0.0, 0.0, -1.0, 0.1 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( 2.0, 0.0, NINF, 0.1 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( 2.0, PINF, NINF, 0.1 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( 2.0, NINF, NINF, 0.1 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + y = pdf( 2.0, NaN, NINF, 0.1 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + t.end(); +}); + +tape( 'if provided `sigma` equals `0`, the function evaluates a degenerate distribution centered at `mu`', function test( t ) { + var y; + + y = pdf( 2.0, 2.0, 0.0, 0.1 ); + t.equal( y, PINF, 'returns +infinity for x equal to mu' ); + + y = pdf( 1.0, 2.0, 0.0, 0.1 ); + t.equal( y, 0.0, 'returns 0' ); + + y = pdf( PINF, 2.0, 0.0, 0.1 ); + t.equal( y, 0.0, 'returns 0' ); + + y = pdf( NINF, 2.0, 0.0, 0.1 ); + t.equal( y, 0.0, 'returns 0' ); + + y = pdf( NaN, 2.0, 0.0, 0.1 ); + t.equal( isnan( y ), true, 'returns NaN' ); + + t.end(); +}); + +tape( 'the function evaluates the pdf for `x` given parameters `mu`, `sigma`, and `alpha`', function test( t ) { + var expected; + var alpha; + var delta; + var sigma; + var tol; + var mu; + var x; + var y; + var i; + + expected = data.expected; + x = data.x; + mu = data.mu; + sigma = data.sigma; + alpha = data.alpha; + for ( i = 0; i < x.length; i++ ) { + y = pdf( x[i], mu[i], sigma[i], alpha[i]); + if ( y === expected[i] ) { + t.equal( y, expected[i], 'x: '+x[i]+', mu:'+mu[i]+', sigma: '+sigma[i]+', alpha: '+alpha[i]+', y: '+y+', expected: '+expected[i] ); + } else { + delta = abs( y - expected[ i ] ); + tol = 5300.0 * EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. mu: '+mu[i]+'. sigma: '+sigma[i]+'. alpha: '+alpha[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +});